diff --git a/migrate_templates.sh b/migrate_templates.sh new file mode 100644 index 0000000..16f590e --- /dev/null +++ b/migrate_templates.sh @@ -0,0 +1,3 @@ +rm -f src/data/templates/*/templates/*backup.json +python -m opencloning_linkml.migrations.migrate --target-version 0.4.9 src/data/templates/*/templates/*.json +rm -f src/data/templates/*/templates/*backup.json diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index 1be39a9..bba6a4c 100644 Binary files a/project/excel/opencloning_linkml.xlsx and b/project/excel/opencloning_linkml.xlsx differ diff --git a/project/graphql/opencloning_linkml.graphql b/project/graphql/opencloning_linkml.graphql index b369584..49dd0ba 100644 --- a/project/graphql/opencloning_linkml.graphql +++ b/project/graphql/opencloning_linkml.graphql @@ -33,19 +33,6 @@ enum GatewayReactionType BP } -enum RepositoryName - { - addgene - genbank - benchling - snapgene - euroscarf - igem - wekwikgene - seva - open_dna_collections - } - enum SequenceFileFormat { fasta @@ -62,7 +49,6 @@ type AddgeneIdSource databaseId: Integer input: [SourceInput] repositoryId: String! - repositoryName: RepositoryName! sequenceFileUrl: String addgeneSequenceType: AddgeneSequenceType } @@ -118,7 +104,6 @@ type BenchlingUrlSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! repositoryId: String! } @@ -200,7 +185,6 @@ type EuroscarfSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! repositoryId: String! } @@ -223,13 +207,12 @@ type GenomeCoordinatesSource outputName: String databaseId: Integer input: [SourceInput] + coordinates: SimpleSequenceLocation + repositoryId: String! assemblyAccession: String - sequenceAccession: String! locusTag: String geneId: Integer - start: Integer! - end: Integer! - strand: Integer! + location: String! } type GibsonAssemblySource @@ -259,7 +242,6 @@ type IGEMSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! sequenceFileUrl: String! repositoryId: String! } @@ -294,6 +276,16 @@ type LigationSource circular: Boolean } +type ManuallyTypedSequence + { + id: Integer! + type: String + overhangCrick3prime: Integer + overhangWatson3prime: Integer + sequence: String! + circular: Boolean + } + type ManuallyTypedSource { id: Integer! @@ -301,10 +293,6 @@ type ManuallyTypedSource outputName: String databaseId: Integer input: [SourceInput] - overhangCrick3prime: Integer - overhangWatson3prime: Integer - userInput: String! - circular: Boolean } type NamedThing @@ -312,6 +300,17 @@ type NamedThing id: Integer! } +type NCBISequenceSource + { + id: Integer! + type: String + outputName: String + databaseId: Integer + input: [SourceInput] + coordinates: SimpleSequenceLocation + repositoryId: String! + } + type OligoHybridizationSource { id: Integer! @@ -329,7 +328,6 @@ type OpenDNACollectionsSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! sequenceFileUrl: String repositoryId: String! } @@ -400,7 +398,6 @@ type RepositoryIdSource databaseId: Integer input: [SourceInput] repositoryId: String! - repositoryName: RepositoryName! } type RestrictionAndLigationSource @@ -480,7 +477,6 @@ type SEVASource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! sequenceFileUrl: String repositoryId: String! } @@ -492,7 +488,6 @@ type SnapGenePlasmidSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! repositoryId: String! } @@ -550,7 +545,6 @@ type WekWikGeneIdSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! sequenceFileUrl: String repositoryId: String! } diff --git a/project/jsonld/opencloning_linkml.context.jsonld b/project/jsonld/opencloning_linkml.context.jsonld index 20b625f..80e212f 100644 --- a/project/jsonld/opencloning_linkml.context.jsonld +++ b/project/jsonld/opencloning_linkml.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2025-11-27T13:31:19", + "generation_date": "2025-12-06T00:30:23", "source": "opencloning_linkml.yaml" }, "@context": { @@ -163,10 +163,6 @@ "assembly_accession": { "@id": "assembly_accession" }, - "end": { - "@type": "xsd:integer", - "@id": "end" - }, "gene_id": { "@type": "xsd:integer", "@id": "gene_id" @@ -174,24 +170,20 @@ "locus_tag": { "@id": "locus_tag" }, - "sequence_accession": { - "@id": "sequence_accession" - }, - "start": { - "@type": "xsd:integer", - "@id": "start" - }, - "strand": { - "@type": "xsd:integer", - "@id": "strand" - }, "id": "@id", - "user_input": { - "@id": "user_input" + "location": { + "@id": "location" + }, + "sequence": { + "@type": "@id", + "@id": "sequence" }, "name": { "@id": "schema:name" }, + "coordinates": { + "@id": "coordinates" + }, "output_name": { "@id": "output_name" }, @@ -240,10 +232,6 @@ "@type": "xsd:float", "@id": "percent_match_length" }, - "sequence": { - "@type": "@id", - "@id": "sequence" - }, "sseqid": { "@id": "sseqid" }, @@ -251,20 +239,16 @@ "@type": "xsd:integer", "@id": "start_location" }, + "strand": { + "@type": "xsd:integer", + "@id": "strand" + }, "Type": { "@id": "Type" }, "repository_id": { "@id": "repository_id" }, - "repository_name": { - "@context": { - "text": "skos:notation", - "description": "skos:prefLabel", - "meaning": "@id" - }, - "@id": "repository_name" - }, "restriction_enzyme": { "@id": "restriction_enzyme" }, @@ -315,9 +299,6 @@ "@type": "xsd:boolean", "@id": "circularize" }, - "coordinates": { - "@id": "coordinates" - }, "index_in_file": { "@type": "xsd:integer", "@id": "index_in_file" @@ -391,12 +372,18 @@ "LigationSource": { "@id": "LigationSource" }, + "ManuallyTypedSequence": { + "@id": "ManuallyTypedSequence" + }, "ManuallyTypedSource": { "@id": "ManuallyTypedSource" }, "NamedThing": { "@id": "schema:Thing" }, + "NCBISequenceSource": { + "@id": "NCBISequenceSource" + }, "OligoHybridizationSource": { "@id": "OligoHybridizationSource" }, diff --git a/project/jsonld/opencloning_linkml.jsonld b/project/jsonld/opencloning_linkml.jsonld index adaf183..bfe3d05 100644 --- a/project/jsonld/opencloning_linkml.jsonld +++ b/project/jsonld/opencloning_linkml.jsonld @@ -86,6 +86,20 @@ "pattern": "^(\\d+)\\.\\.(\\d+)$", "@type": "TypeDefinition" }, + { + "name": "simple_sequence_location", + "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/SimpleSequenceLocation", + "description": "A simple sequence location defined using genbank syntax (e.g. 1..100 or complement(1..100)), note that 1..100 in genbank is equivalent to 0:100 in python", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "exact_mappings": [ + "GENO:0000965" + ], + "typeof": "string", + "base": "str", + "uri": "http://www.w3.org/2001/XMLSchema#string", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "@type": "TypeDefinition" + }, { "name": "string", "definition_uri": "https://w3id.org/linkml/String", @@ -396,49 +410,6 @@ } ], "enums": [ - { - "name": "RepositoryName", - "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/RepositoryName", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "permissible_values": [ - { - "text": "addgene", - "description": "Addgene" - }, - { - "text": "genbank", - "description": "GenBank" - }, - { - "text": "benchling", - "description": "Benchling" - }, - { - "text": "snapgene", - "description": "SnapGene plasmid library" - }, - { - "text": "euroscarf", - "description": "Euroscarf (plasmids only)" - }, - { - "text": "igem", - "description": "iGEM collection" - }, - { - "text": "wekwikgene", - "description": "WekWikGene" - }, - { - "text": "seva", - "description": "SEVA (Standard European Vector Architecture)" - }, - { - "text": "open_dna_collections", - "description": "Open DNA collections" - } - ] - }, { "name": "Collection", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/Collection", @@ -682,7 +653,7 @@ "owner": "OligoHybridizationSource", "domain_of": [ "TextFileSequence", - "ManuallyTypedSource", + "ManuallyTypedSequence", "OligoHybridizationSource" ], "range": "integer", @@ -695,10 +666,10 @@ "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_watson_3prime", "ifabsent": "int(0)", - "owner": "ManuallyTypedSource", + "owner": "ManuallyTypedSequence", "domain_of": [ "TextFileSequence", - "ManuallyTypedSource" + "ManuallyTypedSequence" ], "range": "integer", "@type": "SlotDefinition" @@ -773,6 +744,35 @@ "range": "string", "@type": "SlotDefinition" }, + { + "name": "manuallyTypedSequence__sequence", + "description": "The sequence of the manually typed sequence", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/sequence", + "alias": "sequence", + "owner": "ManuallyTypedSequence", + "domain_of": [ + "ManuallyTypedSequence" + ], + "range": "string", + "required": true, + "pattern": "^[acgtACGT]+$", + "@type": "SlotDefinition" + }, + { + "name": "manuallyTypedSequence__circular", + "description": "Whether the sequence is circular or linear", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/circular", + "ifabsent": "boolean(false)", + "alias": "circular", + "owner": "ManuallyTypedSequence", + "domain_of": [ + "ManuallyTypedSequence" + ], + "range": "boolean", + "@type": "SlotDefinition" + }, { "name": "primer__sequence", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", @@ -998,33 +998,6 @@ "range": "string", "@type": "SlotDefinition" }, - { - "name": "manuallyTypedSource__user_input", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/user_input", - "alias": "user_input", - "owner": "ManuallyTypedSource", - "domain_of": [ - "ManuallyTypedSource" - ], - "range": "string", - "required": true, - "pattern": "^[acgtACGT]+$", - "@type": "SlotDefinition" - }, - { - "name": "manuallyTypedSource__circular", - "description": "Whether the sequence is circular or not", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/circular", - "alias": "circular", - "owner": "ManuallyTypedSource", - "domain_of": [ - "ManuallyTypedSource" - ], - "range": "boolean", - "@type": "SlotDefinition" - }, { "name": "uploadedFileSource__file_name", "description": "The name of the file", @@ -1077,19 +1050,6 @@ "range": "sequence_range", "@type": "SlotDefinition" }, - { - "name": "repositoryIdSource__repository_name", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/repository_name", - "alias": "repository_name", - "owner": "RepositoryIdSource", - "domain_of": [ - "RepositoryIdSource" - ], - "range": "RepositoryName", - "required": true, - "@type": "SlotDefinition" - }, { "name": "addgeneIdSource__addgene_sequence_type", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", @@ -1103,30 +1063,29 @@ "@type": "SlotDefinition" }, { - "name": "genomeCoordinatesSource__assembly_accession", - "description": "The accession of the assembly", + "name": "nCBISequenceSource__coordinates", + "description": "If provided, represents the location of a subsequence within the sequence identified by the sequence accession.", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/assembly_accession", - "alias": "assembly_accession", - "owner": "GenomeCoordinatesSource", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/coordinates", + "alias": "coordinates", + "owner": "NCBISequenceSource", "domain_of": [ - "GenomeCoordinatesSource" + "NCBISequenceSource" ], - "range": "string", + "range": "simple_sequence_location", "@type": "SlotDefinition" }, { - "name": "genomeCoordinatesSource__sequence_accession", - "description": "The accession of the sequence", + "name": "genomeCoordinatesSource__assembly_accession", + "description": "The accession of the assembly", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/sequence_accession", - "alias": "sequence_accession", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/assembly_accession", + "alias": "assembly_accession", "owner": "GenomeCoordinatesSource", "domain_of": [ "GenomeCoordinatesSource" ], "range": "string", - "required": true, "@type": "SlotDefinition" }, { @@ -1155,48 +1114,6 @@ "range": "integer", "@type": "SlotDefinition" }, - { - "name": "genomeCoordinatesSource__start", - "description": "The starting coordinate (1-based) of the sequence in the sequence accession", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/start", - "alias": "start", - "owner": "GenomeCoordinatesSource", - "domain_of": [ - "GenomeCoordinatesSource" - ], - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "genomeCoordinatesSource__end", - "description": "The ending coordinate (1-based) of the sequence in the sequence accession", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/end", - "alias": "end", - "owner": "GenomeCoordinatesSource", - "domain_of": [ - "GenomeCoordinatesSource" - ], - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "genomeCoordinatesSource__strand", - "description": "The strand of the sequence in the sequence accession, should be 1 or -1", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/strand", - "alias": "strand", - "owner": "GenomeCoordinatesSource", - "domain_of": [ - "GenomeCoordinatesSource" - ], - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, { "name": "sequenceCutSource__left_edge", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", @@ -1725,6 +1642,14 @@ "multivalued": true, "@type": "SlotDefinition" }, + { + "name": "location", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/location", + "range": "string", + "required": true, + "@type": "SlotDefinition" + }, { "name": "TextFileSequence_sequence_file_format", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/sequence_file_format", @@ -1782,6 +1707,44 @@ "range": "integer", "@type": "SlotDefinition" }, + { + "name": "ManuallyTypedSequence_overhang_crick_3prime", + "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_crick_3prime", + "description": "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "is_a": "overhang_crick_3prime", + "domain": "ManuallyTypedSequence", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_crick_3prime", + "ifabsent": "int(0)", + "alias": "overhang_crick_3prime", + "owner": "ManuallyTypedSequence", + "domain_of": [ + "ManuallyTypedSequence" + ], + "is_usage_slot": true, + "usage_slot_name": "overhang_crick_3prime", + "range": "integer", + "@type": "SlotDefinition" + }, + { + "name": "ManuallyTypedSequence_overhang_watson_3prime", + "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_watson_3prime", + "description": "The equivalent of `overhang_crick_3prime` but for the watson strand", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "is_a": "overhang_watson_3prime", + "domain": "ManuallyTypedSequence", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_watson_3prime", + "ifabsent": "int(0)", + "alias": "overhang_watson_3prime", + "owner": "ManuallyTypedSequence", + "domain_of": [ + "ManuallyTypedSequence" + ], + "is_usage_slot": true, + "usage_slot_name": "overhang_watson_3prime", + "range": "integer", + "@type": "SlotDefinition" + }, { "name": "RestrictionSequenceCut_restriction_enzyme", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/restriction_enzyme", @@ -1868,44 +1831,6 @@ "range": "string", "@type": "SlotDefinition" }, - { - "name": "ManuallyTypedSource_overhang_crick_3prime", - "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_crick_3prime", - "description": "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "is_a": "overhang_crick_3prime", - "domain": "ManuallyTypedSource", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_crick_3prime", - "ifabsent": "int(0)", - "alias": "overhang_crick_3prime", - "owner": "ManuallyTypedSource", - "domain_of": [ - "ManuallyTypedSource" - ], - "is_usage_slot": true, - "usage_slot_name": "overhang_crick_3prime", - "range": "integer", - "@type": "SlotDefinition" - }, - { - "name": "ManuallyTypedSource_overhang_watson_3prime", - "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_watson_3prime", - "description": "The equivalent of `overhang_crick_3prime` but for the watson strand", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "is_a": "overhang_watson_3prime", - "domain": "ManuallyTypedSource", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_watson_3prime", - "ifabsent": "int(0)", - "alias": "overhang_watson_3prime", - "owner": "ManuallyTypedSource", - "domain_of": [ - "ManuallyTypedSource" - ], - "is_usage_slot": true, - "usage_slot_name": "overhang_watson_3prime", - "range": "integer", - "@type": "SlotDefinition" - }, { "name": "UploadedFileSource_sequence_file_format", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/sequence_file_format", @@ -2103,6 +2028,42 @@ "pattern": "^[^\\/]+\\/[^\\/]+$", "@type": "SlotDefinition" }, + { + "name": "NCBISequenceSource_repository_id", + "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/repository_id", + "description": "The sequence accession (e.g. X60065.1)", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "is_a": "repository_id", + "domain": "NCBISequenceSource", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/repository_id", + "alias": "repository_id", + "owner": "NCBISequenceSource", + "domain_of": [ + "NCBISequenceSource" + ], + "is_usage_slot": true, + "usage_slot_name": "repository_id", + "range": "string", + "required": true, + "@type": "SlotDefinition" + }, + { + "name": "GenomeCoordinatesSource_location", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "is_a": "location", + "domain": "GenomeCoordinatesSource", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/location", + "alias": "location", + "owner": "GenomeCoordinatesSource", + "domain_of": [ + "GenomeCoordinatesSource" + ], + "is_usage_slot": true, + "usage_slot_name": "location", + "range": "string", + "required": true, + "@type": "SlotDefinition" + }, { "name": "RestrictionAndLigationSource_restriction_enzymes", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/restriction_enzymes", @@ -2214,6 +2175,41 @@ "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/TextFileSequence", "@type": "ClassDefinition" }, + { + "name": "ManuallyTypedSequence", + "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/ManuallyTypedSequence", + "description": "Represents a sequence that is manually typed by the user", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "is_a": "Sequence", + "slots": [ + "id", + "type", + "ManuallyTypedSequence_overhang_crick_3prime", + "ManuallyTypedSequence_overhang_watson_3prime", + "manuallyTypedSequence__sequence", + "manuallyTypedSequence__circular" + ], + "slot_usage": {}, + "attributes": [ + { + "name": "sequence", + "description": "The sequence of the manually typed sequence", + "range": "string", + "required": true, + "pattern": "^[acgtACGT]+$", + "@type": "SlotDefinition" + }, + { + "name": "circular", + "description": "Whether the sequence is circular or linear", + "ifabsent": "boolean(false)", + "range": "boolean", + "@type": "SlotDefinition" + } + ], + "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/ManuallyTypedSequence", + "@type": "ClassDefinition" + }, { "name": "Primer", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/Primer", @@ -2500,28 +2496,9 @@ "type", "output_name", "database_id", - "source__input", - "ManuallyTypedSource_overhang_crick_3prime", - "ManuallyTypedSource_overhang_watson_3prime", - "manuallyTypedSource__user_input", - "manuallyTypedSource__circular" + "source__input" ], "slot_usage": {}, - "attributes": [ - { - "name": "user_input", - "range": "string", - "required": true, - "pattern": "^[acgtACGT]+$", - "@type": "SlotDefinition" - }, - { - "name": "circular", - "description": "Whether the sequence is circular or not", - "range": "boolean", - "@type": "SlotDefinition" - } - ], "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/ManuallyTypedSource", "@type": "ClassDefinition" }, @@ -2585,18 +2562,9 @@ "output_name", "database_id", "source__input", - "repository_id", - "repositoryIdSource__repository_name" + "repository_id" ], "slot_usage": {}, - "attributes": [ - { - "name": "repository_name", - "range": "RepositoryName", - "required": true, - "@type": "SlotDefinition" - } - ], "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/RepositoryIdSource", "@type": "ClassDefinition" }, @@ -2613,7 +2581,6 @@ "database_id", "source__input", "repository_id", - "repositoryIdSource__repository_name", "sequence_file_url", "addgeneIdSource__addgene_sequence_type" ], @@ -2640,7 +2607,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "sequence_file_url", "WekWikGeneIdSource_repository_id" ], @@ -2660,7 +2626,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "SEVASource_sequence_file_url", "SEVASource_repository_id" ], @@ -2680,7 +2645,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "BenchlingUrlSource_repository_id" ], "slot_usage": {}, @@ -2699,7 +2663,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "SnapGenePlasmidSource_repository_id" ], "slot_usage": {}, @@ -2718,7 +2681,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "EuroscarfSource_repository_id" ], "slot_usage": {}, @@ -2737,7 +2699,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "IGEMSource_sequence_file_url", "IGEMSource_repository_id" ], @@ -2757,7 +2718,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "sequence_file_url", "OpenDNACollectionsSource_repository_id" ], @@ -2765,25 +2725,51 @@ "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/OpenDNACollectionsSource", "@type": "ClassDefinition" }, + { + "name": "NCBISequenceSource", + "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/NCBISequenceSource", + "description": "Represents the source of a sequence that is identified by an NCBI sequence accession", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "is_a": "RepositoryIdSource", + "slots": [ + "id", + "type", + "output_name", + "database_id", + "source__input", + "nCBISequenceSource__coordinates", + "NCBISequenceSource_repository_id" + ], + "slot_usage": {}, + "attributes": [ + { + "name": "coordinates", + "description": "If provided, represents the location of a subsequence within the sequence identified by the sequence accession.", + "range": "simple_sequence_location", + "@type": "SlotDefinition" + } + ], + "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/NCBISequenceSource", + "@type": "ClassDefinition" + }, { "name": "GenomeCoordinatesSource", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/GenomeCoordinatesSource", "description": "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "is_a": "Source", + "is_a": "NCBISequenceSource", "slots": [ "id", "type", "output_name", "database_id", "source__input", + "nCBISequenceSource__coordinates", + "NCBISequenceSource_repository_id", "genomeCoordinatesSource__assembly_accession", - "genomeCoordinatesSource__sequence_accession", "genomeCoordinatesSource__locus_tag", "genomeCoordinatesSource__gene_id", - "genomeCoordinatesSource__start", - "genomeCoordinatesSource__end", - "genomeCoordinatesSource__strand" + "GenomeCoordinatesSource_location" ], "slot_usage": {}, "attributes": [ @@ -2793,13 +2779,6 @@ "range": "string", "@type": "SlotDefinition" }, - { - "name": "sequence_accession", - "description": "The accession of the sequence", - "range": "string", - "required": true, - "@type": "SlotDefinition" - }, { "name": "locus_tag", "description": "The locus tag of the sequence", @@ -2811,27 +2790,6 @@ "description": "The gene id of the sequence", "range": "integer", "@type": "SlotDefinition" - }, - { - "name": "start", - "description": "The starting coordinate (1-based) of the sequence in the sequence accession", - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "end", - "description": "The ending coordinate (1-based) of the sequence in the sequence accession", - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "strand", - "description": "The strand of the sequence in the sequence accession, should be 1 or -1", - "range": "integer", - "required": true, - "@type": "SlotDefinition" } ], "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/GenomeCoordinatesSource", @@ -3542,9 +3500,9 @@ ], "metamodel_version": "1.7.0", "source_file": "opencloning_linkml.yaml", - "source_file_date": "2025-11-27T13:31:15", - "source_file_size": 26128, - "generation_date": "2025-11-27T13:31:19", + "source_file_date": "2025-12-06T00:30:19", + "source_file_size": 25654, + "generation_date": "2025-12-06T00:30:23", "@type": "SchemaDefinition", "@context": [ "project/jsonld/opencloning_linkml.context.jsonld", diff --git a/project/jsonschema/opencloning_linkml.schema.json b/project/jsonschema/opencloning_linkml.schema.json index 98efd97..f625728 100644 --- a/project/jsonschema/opencloning_linkml.schema.json +++ b/project/jsonschema/opencloning_linkml.schema.json @@ -46,9 +46,6 @@ "description": "The id of the sequence in the repository", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "sequence_file_url": { "description": "The URL of a sequence file", "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", @@ -70,7 +67,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "AddgeneIdSource", @@ -388,9 +384,6 @@ "pattern": "^https:\\/\\/benchling\\.com\\/.+\\.gb$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -404,7 +397,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "BenchlingUrlSource", @@ -542,6 +534,9 @@ { "$ref": "#/$defs/TextFileSequence" }, + { + "$ref": "#/$defs/ManuallyTypedSequence" + }, { "$ref": "#/$defs/Primer" } @@ -568,9 +563,6 @@ { "$ref": "#/$defs/RepositoryIdSource" }, - { - "$ref": "#/$defs/GenomeCoordinatesSource" - }, { "$ref": "#/$defs/SequenceCutSource" }, @@ -648,6 +640,12 @@ }, { "$ref": "#/$defs/OpenDNACollectionsSource" + }, + { + "$ref": "#/$defs/NCBISequenceSource" + }, + { + "$ref": "#/$defs/GenomeCoordinatesSource" } ] }, @@ -706,9 +704,6 @@ { "$ref": "#/$defs/RepositoryIdSource" }, - { - "$ref": "#/$defs/GenomeCoordinatesSource" - }, { "$ref": "#/$defs/SequenceCutSource" }, @@ -786,6 +781,12 @@ }, { "$ref": "#/$defs/OpenDNACollectionsSource" + }, + { + "$ref": "#/$defs/NCBISequenceSource" + }, + { + "$ref": "#/$defs/GenomeCoordinatesSource" } ], "description": "The source of the sequence for this option" @@ -1103,9 +1104,6 @@ "pattern": "^P\\d+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -1119,7 +1117,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "EuroscarfSource", @@ -1219,6 +1216,14 @@ "null" ] }, + "coordinates": { + "description": "If provided, represents the location of a subsequence within the sequence identified by the sequence accession.", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "type": [ + "string", + "null" + ] + }, "database_id": { "description": "The id of an entity in a database", "type": [ @@ -1226,10 +1231,6 @@ "null" ] }, - "end": { - "description": "The ending coordinate (1-based) of the sequence in the sequence accession", - "type": "integer" - }, "gene_id": { "description": "The gene id of the sequence", "type": [ @@ -1272,18 +1273,10 @@ "null" ] }, - "sequence_accession": { - "description": "The accession of the sequence", + "repository_id": { + "description": "The sequence accession (e.g. X60065.1)", "type": "string" }, - "start": { - "description": "The starting coordinate (1-based) of the sequence in the sequence accession", - "type": "integer" - }, - "strand": { - "description": "The strand of the sequence in the sequence accession, should be 1 or -1", - "type": "integer" - }, "type": { "description": "Designates the class", "enum": [ @@ -1296,10 +1289,7 @@ } }, "required": [ - "sequence_accession", - "start", - "end", - "strand", + "repository_id", "id" ], "title": "GenomeCoordinatesSource", @@ -1474,9 +1464,6 @@ "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "sequence_file_url": { "description": "The URL of the sequence file, for now github repository", "pattern": "^.*.gb$", @@ -1496,7 +1483,6 @@ "required": [ "sequence_file_url", "repository_id", - "repository_name", "id" ], "title": "IGEMSource", @@ -1691,17 +1677,62 @@ "title": "LigationSource", "type": "object" }, - "ManuallyTypedSource": { + "ManuallyTypedSequence": { "additionalProperties": false, - "description": "Represents the source of a sequence that is manually typed by the user", + "description": "Represents a sequence that is manually typed by the user", "properties": { "circular": { - "description": "Whether the sequence is circular or not", + "description": "Whether the sequence is circular or linear", "type": [ "boolean", "null" ] }, + "id": { + "description": "A unique identifier for a thing", + "type": "integer" + }, + "overhang_crick_3prime": { + "description": "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand", + "type": [ + "integer", + "null" + ] + }, + "overhang_watson_3prime": { + "description": "The equivalent of `overhang_crick_3prime` but for the watson strand", + "type": [ + "integer", + "null" + ] + }, + "sequence": { + "description": "The sequence of the manually typed sequence", + "pattern": "^[acgtACGT]+$", + "type": "string" + }, + "type": { + "description": "Designates the class", + "enum": [ + "ManuallyTypedSequence" + ], + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "sequence", + "id" + ], + "title": "ManuallyTypedSequence", + "type": "object" + }, + "ManuallyTypedSource": { + "additionalProperties": false, + "description": "Represents the source of a sequence that is manually typed by the user", + "properties": { "database_id": { "description": "The id of an entity in a database", "type": [ @@ -1737,40 +1768,90 @@ "null" ] }, - "overhang_crick_3prime": { - "description": "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand", + "type": { + "description": "Designates the class", + "enum": [ + "ManuallyTypedSource" + ], "type": [ - "integer", + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "title": "ManuallyTypedSource", + "type": "object" + }, + "NCBISequenceSource": { + "additionalProperties": false, + "description": "Represents the source of a sequence that is identified by an NCBI sequence accession", + "properties": { + "coordinates": { + "description": "If provided, represents the location of a subsequence within the sequence identified by the sequence accession.", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "type": [ + "string", "null" ] }, - "overhang_watson_3prime": { - "description": "The equivalent of `overhang_crick_3prime` but for the watson strand", + "database_id": { + "description": "The id of an entity in a database", "type": [ "integer", "null" ] }, + "id": { + "description": "A unique identifier for a thing", + "type": "integer" + }, + "input": { + "description": "The inputs to this source. If the source represents external import of a sequence, it's empty.", + "items": { + "anyOf": [ + { + "$ref": "#/$defs/SourceInput" + }, + { + "$ref": "#/$defs/AssemblyFragment" + } + ] + }, + "type": [ + "array", + "null" + ] + }, + "output_name": { + "description": "Used to specify the name of the output sequence", + "type": [ + "string", + "null" + ] + }, + "repository_id": { + "description": "The sequence accession (e.g. X60065.1)", + "type": "string" + }, "type": { "description": "Designates the class", "enum": [ - "ManuallyTypedSource" + "NCBISequenceSource" ], "type": [ "string", "null" ] - }, - "user_input": { - "pattern": "^[acgtACGT]+$", - "type": "string" } }, "required": [ - "user_input", + "repository_id", "id" ], - "title": "ManuallyTypedSource", + "title": "NCBISequenceSource", "type": "object" }, "NamedThing": { @@ -1898,9 +1979,6 @@ "pattern": "^[^\\/]+\\/[^\\/]+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "sequence_file_url": { "description": "The URL of a sequence file", "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", @@ -1922,7 +2000,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "OpenDNACollectionsSource", @@ -2308,9 +2385,6 @@ "description": "The id of the sequence in the repository", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -2324,28 +2398,11 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "RepositoryIdSource", "type": "object" }, - "RepositoryName": { - "description": "", - "enum": [ - "addgene", - "genbank", - "benchling", - "snapgene", - "euroscarf", - "igem", - "wekwikgene", - "seva", - "open_dna_collections" - ], - "title": "RepositoryName", - "type": "string" - }, "RestrictionAndLigationSource": { "additionalProperties": false, "description": "Represents the source of a sequence that is generated by restriction and ligation", @@ -2616,9 +2673,6 @@ "pattern": "^pSEVA\\d+.*$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "sequence_file_url": { "description": "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI.", "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", @@ -2640,7 +2694,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "SEVASource", @@ -2840,9 +2893,6 @@ "pattern": "^[^\\/]+\\/[^\\/]+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -2856,7 +2906,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "SnapGenePlasmidSource", @@ -3110,9 +3159,6 @@ "pattern": "^\\d+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "sequence_file_url": { "description": "The URL of a sequence file", "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", @@ -3134,7 +3180,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "WekWikGeneIdSource", diff --git a/project/owl/opencloning_linkml.owl.ttl b/project/owl/opencloning_linkml.owl.ttl index 2455b83..c7f4986 100644 --- a/project/owl/opencloning_linkml.owl.ttl +++ b/project/owl/opencloning_linkml.owl.ttl @@ -15,65 +15,65 @@ opencloning_linkml:CloningStrategy a owl:Class, linkml:ClassDefinition ; rdfs:label "CloningStrategy" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:sources ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:backend_version ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:schema_version ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:version_number ; owl:onProperty opencloning_linkml:frontend_version ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:files ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:backend_version ], + owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primers ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:schema_version ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequences ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:backend_version ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFile ; - owl:onProperty opencloning_linkml:files ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:frontend_version ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:sources ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sources ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ] ; + owl:allValuesFrom opencloning_linkml:AssociatedFile ; + owl:onProperty opencloning_linkml:files ] ; skos:definition "Represents a cloning strategy" ; skos:inScheme . @@ -91,32 +91,32 @@ opencloning_linkml:CollectionOption a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOption" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:info ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:source ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:source ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:source ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; owl:onProperty opencloning_linkml:info ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:name ] ; + owl:onProperty opencloning_linkml:source ] ; skos:definition "Represents an option in a collection" ; skos:inScheme . @@ -124,59 +124,66 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:resistance ], - [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:well ], + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:well ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOptionType ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:resistance ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:well ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ] ; + owl:onProperty opencloning_linkml:description ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . +opencloning_linkml:simple_sequence_location a owl:Class, + linkml:TypeDefinition ; + rdfs:subClassOf linkml:String . + opencloning_linkml:AddgeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AddgeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; + owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -184,16 +191,13 @@ opencloning_linkml:AddgeneIdSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:addgene_sequence_type ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an Addgene id" ; @@ -213,10 +217,13 @@ opencloning_linkml:AnnotationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AnnotationSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:annotation_report ], + [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:AnnotationTool ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; @@ -227,15 +234,12 @@ opencloning_linkml:AnnotationSource a owl:Class, [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:annotation_report ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationTool ; - owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:annotation_report ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:annotation_tool ], opencloning_linkml:Source ; skos:definition "Represents a computational step in which sequence features are annotated in a sequence" ; skos:inScheme . @@ -244,11 +248,11 @@ opencloning_linkml:AssemblyFragment a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblyFragment" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:right_location ], + owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_location ], + owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_location ], @@ -261,12 +265,12 @@ opencloning_linkml:AssemblyFragment a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:reverse_complemented ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_location ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:right_location ], @@ -278,9 +282,6 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, linkml:ClassDefinition ; rdfs:label "BenchlingUrlSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ) ] ; @@ -288,6 +289,9 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a Benchling URL" ; skos:inScheme . @@ -323,44 +327,44 @@ opencloning_linkml:CollectionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:category_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:title ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:title ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:category_id ], + [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:title ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOption ; owl:onProperty opencloning_linkml:options ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:title ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:options ], + owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:category_id ], + owl:onProperty opencloning_linkml:description ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; skos:inScheme . @@ -376,10 +380,10 @@ opencloning_linkml:DatabaseSource a owl:Class, linkml:ClassDefinition ; rdfs:label "DatabaseSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 1 ; @@ -392,13 +396,13 @@ opencloning_linkml:EuroscarfSource a owl:Class, linkml:ClassDefinition ; rdfs:label "EuroscarfSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^P\\d+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], @@ -420,8 +424,11 @@ opencloning_linkml:GatewaySource a owl:Class, linkml:ClassDefinition ; rdfs:label "GatewaySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:greedy ], + owl:allValuesFrom opencloning_linkml:GatewayReactionType ; + owl:onProperty opencloning_linkml:reaction_type ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:reaction_type ], @@ -429,11 +436,8 @@ opencloning_linkml:GatewaySource a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:GatewayReactionType ; - owl:onProperty opencloning_linkml:reaction_type ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:reaction_type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:greedy ], @@ -446,68 +450,41 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, rdfs:label "GenomeCoordinatesSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:gene_id ], + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence_accession ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:locus_tag ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:start ], + owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:assembly_accession ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:end ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], - opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:assembly_accession ], + opencloning_linkml:NCBISequenceSource ; skos:definition "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; skos:inScheme . @@ -524,18 +501,18 @@ opencloning_linkml:IGEMSource a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -567,49 +544,56 @@ opencloning_linkml:LigationSource a owl:Class, skos:definition "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; skos:inScheme . -opencloning_linkml:ManuallyTypedSource a owl:Class, +opencloning_linkml:ManuallyTypedSequence a owl:Class, linkml:ClassDefinition ; - rdfs:label "ManuallyTypedSource" ; + rdfs:label "ManuallyTypedSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:user_input ], + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], - opencloning_linkml:Source ; + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:circular ], + opencloning_linkml:Sequence ; + skos:definition "Represents a sequence that is manually typed by the user" ; + skos:inScheme . + +opencloning_linkml:ManuallyTypedSource a owl:Class, + linkml:ClassDefinition ; + rdfs:label "ManuallyTypedSource" ; + rdfs:subClassOf opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is manually typed by the user" ; skos:inScheme . @@ -617,13 +601,13 @@ opencloning_linkml:NamedThing a owl:Class, linkml:ClassDefinition ; rdfs:label "NamedThing" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ] ; skos:exactMatch schema1:Thing ; skos:inScheme . @@ -632,13 +616,13 @@ opencloning_linkml:OligoHybridizationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OligoHybridizationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is generated by oligo hybridization" ; @@ -651,25 +635,25 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Open DNA collections" ; skos:inScheme . @@ -685,14 +669,14 @@ opencloning_linkml:PCRSource a owl:Class, linkml:ClassDefinition ; rdfs:label "PCRSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:add_primer_features ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:add_primer_features ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:add_primer_features ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by PCR" ; skos:inScheme . @@ -701,131 +685,131 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, linkml:ClassDefinition ; rdfs:label "PlannotateAnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:strand ], + [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start_location ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:allValuesFrom linkml:Float ; owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:Description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:strand ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_identity ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:fragment ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end_location ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:Type ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Type ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Type ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:start_location ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Feature ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Description ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sseqid ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sseqid ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Type ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -837,59 +821,14 @@ opencloning_linkml:PolymeraseExtensionSource a owl:Class, skos:definition "Represents the source of a sequence that is generated by polymerase extension" ; skos:inScheme . - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "addgene" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "benchling" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "euroscarf" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "genbank" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "igem" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "open_dna_collections" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "seva" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "snapgene" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "wekwikgene" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - opencloning_linkml:RestrictionAndLigationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionAndLigationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzymes ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzymes ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by restriction and ligation" ; @@ -900,22 +839,22 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, rdfs:label "RestrictionEnzymeDigestionSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; - owl:onProperty opencloning_linkml:left_edge ], + owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_edge ], + owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; - owl:onProperty opencloning_linkml:right_edge ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_edge ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:SequenceCutSource ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes." ; skos:inScheme . @@ -924,13 +863,13 @@ opencloning_linkml:RestrictionSequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionSequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], opencloning_linkml:SequenceCut ; skos:definition "Represents a cut in a DNA sequence that is made by a restriction enzyme" ; @@ -947,28 +886,28 @@ opencloning_linkml:SEVASource a owl:Class, linkml:ClassDefinition ; rdfs:label "SEVASource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a SEVA id" ; skos:inScheme . @@ -1028,14 +967,11 @@ opencloning_linkml:TemplateSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TemplateSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:primer_design ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:primer_design ], @@ -1045,6 +981,9 @@ opencloning_linkml:TemplateSequence a owl:Class, [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:primer_design ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Sequence ; skos:definition "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; skos:inScheme . @@ -1053,41 +992,41 @@ opencloning_linkml:TextFileSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TextFileSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_content ], - [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_content ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], opencloning_linkml:Sequence ; skos:definition "A sequence (may have features) defined by the content of a text file" ; skos:inScheme . @@ -1096,50 +1035,50 @@ opencloning_linkml:UploadedFileSource a owl:Class, linkml:ClassDefinition ; rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:coordinates ], + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:coordinates ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circularize ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circularize ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:onProperty opencloning_linkml:coordinates ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is uploaded as a file" ; skos:inScheme . @@ -1148,13 +1087,19 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "WekWikGeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -1162,13 +1107,7 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^\\d+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a WeKwikGene id" ; @@ -1259,38 +1198,63 @@ opencloning_linkml:HomologousRecombinationSource a owl:Class, skos:definition "Represents the source of a sequence that is generated by homologous recombination" ; skos:inScheme . -opencloning_linkml:Primer a owl:Class, +opencloning_linkml:NCBISequenceSource a owl:Class, linkml:ClassDefinition ; - rdfs:label "Primer" ; + rdfs:label "NCBISequenceSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:simple_sequence_location ; + owl:onProperty opencloning_linkml:coordinates ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:coordinates ], + opencloning_linkml:RepositoryIdSource ; + skos:definition "Represents the source of a sequence that is identified by an NCBI sequence accession" ; + skos:inScheme . + +opencloning_linkml:Primer a owl:Class, + linkml:ClassDefinition ; + rdfs:label "Primer" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], opencloning_linkml:Sequence ; skos:definition "An oligonucleotide or primer" ; @@ -1303,19 +1267,19 @@ opencloning_linkml:SequenceCut a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:cut_watson ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:cut_watson ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang ] ; skos:definition "Represents a cut in a DNA sequence" ; skos:inScheme . @@ -1324,20 +1288,20 @@ opencloning_linkml:SequenceCutSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCutSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_edge ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:left_edge ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:right_edge ], @@ -1396,12 +1360,6 @@ opencloning_linkml:circularize a owl:ObjectProperty, skos:definition "Whether the sequence should be circularized (FASTA only)" ; skos:inScheme . -opencloning_linkml:coordinates a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "coordinates" ; - skos:definition "If provided, coordinates within the sequence of the file to extract a subsequence" ; - skos:inScheme . - opencloning_linkml:cut_watson a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "cut_watson" ; @@ -1413,12 +1371,6 @@ opencloning_linkml:database a owl:ObjectProperty, rdfs:label "database" ; skos:inScheme . -opencloning_linkml:end a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "end" ; - skos:definition "The ending coordinate (1-based) of the sequence in the sequence accession" ; - skos:inScheme . - opencloning_linkml:end_location a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "end_location" ; @@ -1525,11 +1477,6 @@ opencloning_linkml:reaction_type a owl:ObjectProperty, rdfs:label "reaction_type" ; skos:inScheme . -opencloning_linkml:repository_name a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "repository_name" ; - skos:inScheme . - opencloning_linkml:resistance a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "resistance" ; @@ -1560,12 +1507,6 @@ opencloning_linkml:schema_version a owl:ObjectProperty, skos:definition "The version of the schema that was used to generate this cloning strategy" ; skos:inScheme . -opencloning_linkml:sequence_accession a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "sequence_accession" ; - skos:definition "The accession of the sequence" ; - skos:inScheme . - opencloning_linkml:sequence_id a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "sequence_id" ; @@ -1587,15 +1528,14 @@ opencloning_linkml:sseqid a owl:ObjectProperty, rdfs:label "sseqid" ; skos:inScheme . -opencloning_linkml:start a owl:ObjectProperty, +opencloning_linkml:start_location a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "start" ; - skos:definition "The starting coordinate (1-based) of the sequence in the sequence accession" ; + rdfs:label "start_location" ; skos:inScheme . -opencloning_linkml:start_location a owl:ObjectProperty, +opencloning_linkml:strand a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "start_location" ; + rdfs:label "strand" ; skos:inScheme . opencloning_linkml:title a owl:ObjectProperty, @@ -1604,11 +1544,6 @@ opencloning_linkml:title a owl:ObjectProperty, skos:definition "The title of the category" ; skos:inScheme . -opencloning_linkml:user_input a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "user_input" ; - skos:inScheme . - opencloning_linkml:version_number a owl:Class, linkml:TypeDefinition ; rdfs:subClassOf linkml:String . @@ -1626,10 +1561,10 @@ opencloning_linkml:AnnotationReport a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents a report of an annotation step" ; skos:inScheme . @@ -1639,39 +1574,39 @@ opencloning_linkml:AssociatedFile a owl:Class, rdfs:label "AssociatedFile" ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequence_id ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:allValuesFrom opencloning_linkml:AssociatedFileType ; + owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_type ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFileType ; - owl:onProperty opencloning_linkml:file_type ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence_id ] ; skos:definition "Represents a file associated with a sequence" ; skos:inScheme . @@ -1686,23 +1621,23 @@ opencloning_linkml:SourceInput a owl:Class, linkml:ClassDefinition ; rdfs:label "SourceInput" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:allValuesFrom opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ] ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents an input to a source" ; skos:exactMatch schema1:Role ; skos:inScheme . @@ -1725,6 +1660,9 @@ opencloning_linkml:GatewayReactionType a owl:Class, linkml:permissible_values , . +opencloning_linkml:coordinates a owl:ObjectProperty, + linkml:SlotDefinition . + opencloning_linkml:file_name a owl:ObjectProperty, linkml:SlotDefinition . @@ -1755,9 +1693,6 @@ opencloning_linkml:sequence_file_format a owl:ObjectProperty, skos:definition "The format of a sequence file" ; skos:inScheme . -opencloning_linkml:strand a owl:ObjectProperty, - linkml:SlotDefinition . - opencloning_linkml:Sequence a owl:Class, linkml:ClassDefinition ; rdfs:label "Sequence" ; @@ -1773,12 +1708,12 @@ opencloning_linkml:Sequence a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ], opencloning_linkml:NamedThing ; skos:definition "Represents a sequence" ; skos:exactMatch bioschemas:DNA ; @@ -1811,27 +1746,15 @@ opencloning_linkml:overhang_crick_3prime a owl:ObjectProperty, skos:definition "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; skos:inScheme . -opencloning_linkml:sequence a owl:ObjectProperty, - linkml:SlotDefinition . - opencloning_linkml:RepositoryIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RepositoryIdSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RepositoryName ; - owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], @@ -1851,58 +1774,51 @@ opencloning_linkml:AssemblySource a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is an assembly of other sequences" ; skos:inScheme . -opencloning_linkml:sequence_file_url a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "sequence_file_url" ; - rdfs:range [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; - skos:definition "The URL of a sequence file" ; - skos:inScheme . +opencloning_linkml:sequence a owl:ObjectProperty, + linkml:SlotDefinition . opencloning_linkml:Source a owl:Class, linkml:ClassDefinition ; rdfs:label "Source" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:output_name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:output_name ], + owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:output_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:input ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:input ], @@ -1914,18 +1830,15 @@ opencloning_linkml:Source a owl:Class, skos:exactMatch schema1:CreateAction ; skos:inScheme . -opencloning_linkml:RepositoryName a owl:Class, - linkml:EnumDefinition ; - owl:unionOf ( ) ; - linkml:permissible_values , - , - , - , - , - , - , - , - . +opencloning_linkml:sequence_file_url a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "sequence_file_url" ; + rdfs:range [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + skos:definition "The URL of a sequence file" ; + skos:inScheme . opencloning_linkml:repository_id a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1950,99 +1863,99 @@ opencloning_linkml:type a owl:ObjectProperty, skos:definition "A LinkML data model for OpenCloning" . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:DatabaseSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:DatabaseSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PCRSource ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PCRSource . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; + rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . + owl:someValuesFrom opencloning_linkml:RepositoryIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:AnnotationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:AnnotationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; + rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . + owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; + rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AddgeneIdSource . + owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationSource ; + rdfs:subClassOf opencloning_linkml:EuroscarfSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationSource . + owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Sequence ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Sequence . + owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SEVASource ; + rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SEVASource . + owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; + rdfs:subClassOf opencloning_linkml:PCRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Source ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:NCBISequenceSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:NCBISequenceSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GatewaySource ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GatewaySource . + owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:AssociatedFile ; @@ -2050,74 +1963,74 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:AssociatedFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequenceCutSource ; + rdfs:subClassOf opencloning_linkml:SEVASource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . + owl:someValuesFrom opencloning_linkml:SEVASource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Primer ; + rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Primer . + owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; + rdfs:subClassOf opencloning_linkml:GatewaySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . + owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; + rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . + owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:ReverseComplementSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:LigationSource ; + rdfs:subClassOf opencloning_linkml:TextFileSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:LigationSource . + owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:DatabaseSource ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:DatabaseSource . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:CollectionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:CollectionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; + rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . + owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RepositoryIdSource . + owl:someValuesFrom opencloning_linkml:SourceInput . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + owl:someValuesFrom opencloning_linkml:InFusionSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:AnnotationReport ; @@ -2125,41 +2038,51 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; + rdfs:subClassOf opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . + owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CRISPRSource ; + rdfs:subClassOf opencloning_linkml:AssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CRISPRSource . + owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:EuroscarfSource ; + rdfs:subClassOf opencloning_linkml:LigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:EuroscarfSource . + owl:someValuesFrom opencloning_linkml:LigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TextFileSequence ; + rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TextFileSequence . + owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblySource ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblySource . + owl:someValuesFrom opencloning_linkml:IGEMSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CollectionSource ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CollectionSource . + owl:someValuesFrom opencloning_linkml:SequenceCutSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; + rdfs:subClassOf opencloning_linkml:CRISPRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + owl:someValuesFrom opencloning_linkml:CRISPRSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:SequencingFile ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:SequencingFile . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSequence ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:ManuallyTypedSequence . diff --git a/project/protobuf/opencloning_linkml.proto b/project/protobuf/opencloning_linkml.proto index 3376e16..2b61adf 100644 --- a/project/protobuf/opencloning_linkml.proto +++ b/project/protobuf/opencloning_linkml.proto @@ -10,7 +10,6 @@ message AddgeneIdSource integer databaseId = 0 repeated sourceInput input = 0 string repositoryId = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 addgeneSequenceType addgeneSequenceType = 0 } @@ -66,7 +65,6 @@ message BenchlingUrlSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string repositoryId = 0 } // Represents a cloning strategy @@ -148,7 +146,6 @@ message EuroscarfSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string repositoryId = 0 } // Represents the source of a sequence that is generated by Gateway cloning @@ -171,13 +168,12 @@ message GenomeCoordinatesSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 + simpleSequenceLocation coordinates = 0 + string repositoryId = 0 string assemblyAccession = 0 - string sequenceAccession = 0 string locusTag = 0 integer geneId = 0 - integer start = 0 - integer end = 0 - integer strand = 0 + string location = 0 } // Represents the source of a sequence that is generated by Gibson assembly message GibsonAssemblySource @@ -207,7 +203,6 @@ message IGEMSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 string repositoryId = 0 } @@ -241,6 +236,16 @@ message LigationSource repeated sourceInput input = 0 boolean circular = 0 } +// Represents a sequence that is manually typed by the user +message ManuallyTypedSequence + { + integer id = 0 + string type = 0 + integer overhangCrick3prime = 0 + integer overhangWatson3prime = 0 + string sequence = 0 + boolean circular = 0 + } // Represents the source of a sequence that is manually typed by the user message ManuallyTypedSource { @@ -249,15 +254,22 @@ message ManuallyTypedSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - integer overhangCrick3prime = 0 - integer overhangWatson3prime = 0 - string userInput = 0 - boolean circular = 0 } message NamedThing { integer id = 0 } +// Represents the source of a sequence that is identified by an NCBI sequence accession +message NCBISequenceSource + { + integer id = 0 + string type = 0 + string outputName = 0 + integer databaseId = 0 + repeated sourceInput input = 0 + simpleSequenceLocation coordinates = 0 + string repositoryId = 0 + } // Represents the source of a sequence that is generated by oligo hybridization message OligoHybridizationSource { @@ -276,7 +288,6 @@ message OpenDNACollectionsSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 string repositoryId = 0 } @@ -347,7 +358,6 @@ message RepositoryIdSource integer databaseId = 0 repeated sourceInput input = 0 string repositoryId = 0 - repositoryName repositoryName = 0 } // Represents the source of a sequence that is generated by restriction and ligation message RestrictionAndLigationSource @@ -421,7 +431,6 @@ message SEVASource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 string repositoryId = 0 } @@ -433,7 +442,6 @@ message SnapGenePlasmidSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string repositoryId = 0 } // Represents an input to a source @@ -482,7 +490,6 @@ message WekWikGeneIdSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 string repositoryId = 0 } diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index ea7b0b9..34ab39b 100644 --- a/project/python/opencloning_linkml.py +++ b/project/python/opencloning_linkml.py @@ -1,5 +1,5 @@ # Auto generated from opencloning_linkml.yaml by pythongen.py version: 0.0.1 -# Generation date: 2025-11-27T13:31:19 +# Generation date: 2025-12-06T00:30:24 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -63,6 +63,15 @@ class SequenceRange(String): type_model_uri = OPENCLONING_LINKML.SequenceRange +class SimpleSequenceLocation(String): + """A simple sequence location defined using genbank syntax (e.g. 1..100 or complement(1..100)), note that 1..100 in genbank is equivalent to 0:100 in python""" + + type_class_uri = XSD["string"] + type_class_curie = "xsd:string" + type_name = "simple_sequence_location" + type_model_uri = OPENCLONING_LINKML.SimpleSequenceLocation + + # Class references class NamedThingId(extended_int): pass @@ -80,6 +89,10 @@ class TextFileSequenceId(SequenceId): pass +class ManuallyTypedSequenceId(SequenceId): + pass + + class PrimerId(SequenceId): pass @@ -140,7 +153,11 @@ class OpenDNACollectionsSourceId(RepositoryIdSourceId): pass -class GenomeCoordinatesSourceId(SourceId): +class NCBISequenceSourceId(RepositoryIdSourceId): + pass + + +class GenomeCoordinatesSourceId(NCBISequenceSourceId): pass @@ -356,6 +373,49 @@ def __post_init__(self, *_: str, **kwargs: Any): self.type = str(self.class_name) +@dataclass(repr=False) +class ManuallyTypedSequence(Sequence): + """ + Represents a sequence that is manually typed by the user + """ + + _inherited_slots: ClassVar[list[str]] = [] + + class_class_uri: ClassVar[URIRef] = OPENCLONING_LINKML["ManuallyTypedSequence"] + class_class_curie: ClassVar[str] = "opencloning_linkml:ManuallyTypedSequence" + class_name: ClassVar[str] = "ManuallyTypedSequence" + class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.ManuallyTypedSequence + + id: Union[int, ManuallyTypedSequenceId] = None + sequence: str = None + overhang_crick_3prime: Optional[int] = 0 + overhang_watson_3prime: Optional[int] = 0 + circular: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: str, **kwargs: Any): + if self._is_empty(self.id): + self.MissingRequiredField("id") + if not isinstance(self.id, ManuallyTypedSequenceId): + self.id = ManuallyTypedSequenceId(self.id) + + if self._is_empty(self.sequence): + self.MissingRequiredField("sequence") + if not isinstance(self.sequence, str): + self.sequence = str(self.sequence) + + if self.overhang_crick_3prime is not None and not isinstance(self.overhang_crick_3prime, int): + self.overhang_crick_3prime = int(self.overhang_crick_3prime) + + if self.overhang_watson_3prime is not None and not isinstance(self.overhang_watson_3prime, int): + self.overhang_watson_3prime = int(self.overhang_watson_3prime) + + if self.circular is not None and not isinstance(self.circular, Bool): + self.circular = Bool(self.circular) + + super().__post_init__(**kwargs) + self.type = str(self.class_name) + + @dataclass(repr=False) class Primer(Sequence): """ @@ -709,10 +769,6 @@ class ManuallyTypedSource(Source): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.ManuallyTypedSource id: Union[int, ManuallyTypedSourceId] = None - user_input: str = None - overhang_crick_3prime: Optional[int] = 0 - overhang_watson_3prime: Optional[int] = 0 - circular: Optional[Union[bool, Bool]] = None def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -720,20 +776,6 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, ManuallyTypedSourceId): self.id = ManuallyTypedSourceId(self.id) - if self._is_empty(self.user_input): - self.MissingRequiredField("user_input") - if not isinstance(self.user_input, str): - self.user_input = str(self.user_input) - - if self.overhang_crick_3prime is not None and not isinstance(self.overhang_crick_3prime, int): - self.overhang_crick_3prime = int(self.overhang_crick_3prime) - - if self.overhang_watson_3prime is not None and not isinstance(self.overhang_watson_3prime, int): - self.overhang_watson_3prime = int(self.overhang_watson_3prime) - - if self.circular is not None and not isinstance(self.circular, Bool): - self.circular = Bool(self.circular) - super().__post_init__(**kwargs) self.type = str(self.class_name) @@ -800,7 +842,6 @@ class RepositoryIdSource(Source): id: Union[int, RepositoryIdSourceId] = None repository_id: str = None - repository_name: Union[str, "RepositoryName"] = None def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -813,11 +854,6 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.repository_id, str): self.repository_id = str(self.repository_id) - if self._is_empty(self.repository_name): - self.MissingRequiredField("repository_name") - if not isinstance(self.repository_name, RepositoryName): - self.repository_name = RepositoryName(self.repository_name) - super().__post_init__(**kwargs) self.type = str(self.class_name) @@ -837,7 +873,6 @@ class AddgeneIdSource(RepositoryIdSource): id: Union[int, AddgeneIdSourceId] = None repository_id: str = None - repository_name: Union[str, "RepositoryName"] = None sequence_file_url: Optional[str] = None addgene_sequence_type: Optional[Union[str, "AddgeneSequenceType"]] = None @@ -871,7 +906,6 @@ class WekWikGeneIdSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.WekWikGeneIdSource id: Union[int, WekWikGeneIdSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None sequence_file_url: Optional[str] = None @@ -907,7 +941,6 @@ class SEVASource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.SEVASource id: Union[int, SEVASourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None sequence_file_url: Optional[str] = None @@ -943,7 +976,6 @@ class BenchlingUrlSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.BenchlingUrlSource id: Union[int, BenchlingUrlSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None def __post_init__(self, *_: str, **kwargs: Any): @@ -976,7 +1008,6 @@ class SnapGenePlasmidSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.SnapGenePlasmidSource id: Union[int, SnapGenePlasmidSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None def __post_init__(self, *_: str, **kwargs: Any): @@ -1008,7 +1039,6 @@ class EuroscarfSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.EuroscarfSource id: Union[int, EuroscarfSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None def __post_init__(self, *_: str, **kwargs: Any): @@ -1040,7 +1070,6 @@ class IGEMSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.IGEMSource id: Union[int, IGEMSourceId] = None - repository_name: Union[str, "RepositoryName"] = None sequence_file_url: str = None repository_id: str = None @@ -1078,7 +1107,6 @@ class OpenDNACollectionsSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.OpenDNACollectionsSource id: Union[int, OpenDNACollectionsSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None sequence_file_url: Optional[str] = None @@ -1101,7 +1129,42 @@ def __post_init__(self, *_: str, **kwargs: Any): @dataclass(repr=False) -class GenomeCoordinatesSource(Source): +class NCBISequenceSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by an NCBI sequence accession + """ + + _inherited_slots: ClassVar[list[str]] = [] + + class_class_uri: ClassVar[URIRef] = OPENCLONING_LINKML["NCBISequenceSource"] + class_class_curie: ClassVar[str] = "opencloning_linkml:NCBISequenceSource" + class_name: ClassVar[str] = "NCBISequenceSource" + class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.NCBISequenceSource + + id: Union[int, NCBISequenceSourceId] = None + repository_id: str = None + coordinates: Optional[Union[str, SimpleSequenceLocation]] = None + + def __post_init__(self, *_: str, **kwargs: Any): + if self._is_empty(self.id): + self.MissingRequiredField("id") + if not isinstance(self.id, NCBISequenceSourceId): + self.id = NCBISequenceSourceId(self.id) + + if self._is_empty(self.repository_id): + self.MissingRequiredField("repository_id") + if not isinstance(self.repository_id, str): + self.repository_id = str(self.repository_id) + + if self.coordinates is not None and not isinstance(self.coordinates, SimpleSequenceLocation): + self.coordinates = SimpleSequenceLocation(self.coordinates) + + super().__post_init__(**kwargs) + self.type = str(self.class_name) + + +@dataclass(repr=False) +class GenomeCoordinatesSource(NCBISequenceSource): """ Represents the source of a sequence that is identified by genome coordinates, requested from NCBI """ @@ -1114,10 +1177,8 @@ class GenomeCoordinatesSource(Source): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.GenomeCoordinatesSource id: Union[int, GenomeCoordinatesSourceId] = None - sequence_accession: str = None - start: int = None - end: int = None - strand: int = None + repository_id: str = None + location: str = None assembly_accession: Optional[str] = None locus_tag: Optional[str] = None gene_id: Optional[int] = None @@ -1128,25 +1189,10 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, GenomeCoordinatesSourceId): self.id = GenomeCoordinatesSourceId(self.id) - if self._is_empty(self.sequence_accession): - self.MissingRequiredField("sequence_accession") - if not isinstance(self.sequence_accession, str): - self.sequence_accession = str(self.sequence_accession) - - if self._is_empty(self.start): - self.MissingRequiredField("start") - if not isinstance(self.start, int): - self.start = int(self.start) - - if self._is_empty(self.end): - self.MissingRequiredField("end") - if not isinstance(self.end, int): - self.end = int(self.end) - - if self._is_empty(self.strand): - self.MissingRequiredField("strand") - if not isinstance(self.strand, int): - self.strand = int(self.strand) + if self._is_empty(self.location): + self.MissingRequiredField("location") + if not isinstance(self.location, str): + self.location = str(self.location) if self.assembly_accession is not None and not isinstance(self.assembly_accession, str): self.assembly_accession = str(self.assembly_accession) @@ -1961,23 +2007,6 @@ def __post_init__(self, *_: str, **kwargs: Any): # Enumerations -class RepositoryName(EnumDefinitionImpl): - - addgene = PermissibleValue(text="addgene", description="Addgene") - genbank = PermissibleValue(text="genbank", description="GenBank") - benchling = PermissibleValue(text="benchling", description="Benchling") - snapgene = PermissibleValue(text="snapgene", description="SnapGene plasmid library") - euroscarf = PermissibleValue(text="euroscarf", description="Euroscarf (plasmids only)") - igem = PermissibleValue(text="igem", description="iGEM collection") - wekwikgene = PermissibleValue(text="wekwikgene", description="WekWikGene") - seva = PermissibleValue(text="seva", description="SEVA (Standard European Vector Architecture)") - open_dna_collections = PermissibleValue(text="open_dna_collections", description="Open DNA collections") - - _defn = EnumDefinition( - name="RepositoryName", - ) - - class Collection(EnumDefinitionImpl): AddgenePlasmid = PermissibleValue(text="AddgenePlasmid", description="A plasmid from Addgene") @@ -2211,6 +2240,25 @@ class slots: range=Optional[str], ) +slots.manuallyTypedSequence__sequence = Slot( + uri=OPENCLONING_LINKML.sequence, + name="manuallyTypedSequence__sequence", + curie=OPENCLONING_LINKML.curie("sequence"), + model_uri=OPENCLONING_LINKML.manuallyTypedSequence__sequence, + domain=None, + range=str, + pattern=re.compile(r"^[acgtACGT]+$"), +) + +slots.manuallyTypedSequence__circular = Slot( + uri=OPENCLONING_LINKML.circular, + name="manuallyTypedSequence__circular", + curie=OPENCLONING_LINKML.curie("circular"), + model_uri=OPENCLONING_LINKML.manuallyTypedSequence__circular, + domain=None, + range=Optional[Union[bool, Bool]], +) + slots.primer__sequence = Slot( uri=OPENCLONING_LINKML.sequence, name="primer__sequence", @@ -2356,25 +2404,6 @@ class slots: range=Optional[str], ) -slots.manuallyTypedSource__user_input = Slot( - uri=OPENCLONING_LINKML.user_input, - name="manuallyTypedSource__user_input", - curie=OPENCLONING_LINKML.curie("user_input"), - model_uri=OPENCLONING_LINKML.manuallyTypedSource__user_input, - domain=None, - range=str, - pattern=re.compile(r"^[acgtACGT]+$"), -) - -slots.manuallyTypedSource__circular = Slot( - uri=OPENCLONING_LINKML.circular, - name="manuallyTypedSource__circular", - curie=OPENCLONING_LINKML.curie("circular"), - model_uri=OPENCLONING_LINKML.manuallyTypedSource__circular, - domain=None, - range=Optional[Union[bool, Bool]], -) - slots.uploadedFileSource__file_name = Slot( uri=OPENCLONING_LINKML.file_name, name="uploadedFileSource__file_name", @@ -2411,15 +2440,6 @@ class slots: range=Optional[Union[str, SequenceRange]], ) -slots.repositoryIdSource__repository_name = Slot( - uri=OPENCLONING_LINKML.repository_name, - name="repositoryIdSource__repository_name", - curie=OPENCLONING_LINKML.curie("repository_name"), - model_uri=OPENCLONING_LINKML.repositoryIdSource__repository_name, - domain=None, - range=Union[str, "RepositoryName"], -) - slots.addgeneIdSource__addgene_sequence_type = Slot( uri=OPENCLONING_LINKML.addgene_sequence_type, name="addgeneIdSource__addgene_sequence_type", @@ -2429,6 +2449,15 @@ class slots: range=Optional[Union[str, "AddgeneSequenceType"]], ) +slots.nCBISequenceSource__coordinates = Slot( + uri=OPENCLONING_LINKML.coordinates, + name="nCBISequenceSource__coordinates", + curie=OPENCLONING_LINKML.curie("coordinates"), + model_uri=OPENCLONING_LINKML.nCBISequenceSource__coordinates, + domain=None, + range=Optional[Union[str, SimpleSequenceLocation]], +) + slots.genomeCoordinatesSource__assembly_accession = Slot( uri=OPENCLONING_LINKML.assembly_accession, name="genomeCoordinatesSource__assembly_accession", @@ -2438,15 +2467,6 @@ class slots: range=Optional[str], ) -slots.genomeCoordinatesSource__sequence_accession = Slot( - uri=OPENCLONING_LINKML.sequence_accession, - name="genomeCoordinatesSource__sequence_accession", - curie=OPENCLONING_LINKML.curie("sequence_accession"), - model_uri=OPENCLONING_LINKML.genomeCoordinatesSource__sequence_accession, - domain=None, - range=str, -) - slots.genomeCoordinatesSource__locus_tag = Slot( uri=OPENCLONING_LINKML.locus_tag, name="genomeCoordinatesSource__locus_tag", @@ -2465,33 +2485,6 @@ class slots: range=Optional[int], ) -slots.genomeCoordinatesSource__start = Slot( - uri=OPENCLONING_LINKML.start, - name="genomeCoordinatesSource__start", - curie=OPENCLONING_LINKML.curie("start"), - model_uri=OPENCLONING_LINKML.genomeCoordinatesSource__start, - domain=None, - range=int, -) - -slots.genomeCoordinatesSource__end = Slot( - uri=OPENCLONING_LINKML.end, - name="genomeCoordinatesSource__end", - curie=OPENCLONING_LINKML.curie("end"), - model_uri=OPENCLONING_LINKML.genomeCoordinatesSource__end, - domain=None, - range=int, -) - -slots.genomeCoordinatesSource__strand = Slot( - uri=OPENCLONING_LINKML.strand, - name="genomeCoordinatesSource__strand", - curie=OPENCLONING_LINKML.curie("strand"), - model_uri=OPENCLONING_LINKML.genomeCoordinatesSource__strand, - domain=None, - range=int, -) - slots.sequenceCutSource__left_edge = Slot( uri=OPENCLONING_LINKML.left_edge, name="sequenceCutSource__left_edge", @@ -2852,6 +2845,15 @@ class slots: range=Union[str, list[str]], ) +slots.location = Slot( + uri=OPENCLONING_LINKML.location, + name="location", + curie=OPENCLONING_LINKML.curie("location"), + model_uri=OPENCLONING_LINKML.location, + domain=None, + range=str, +) + slots.TextFileSequence_sequence_file_format = Slot( uri=OPENCLONING_LINKML.sequence_file_format, name="TextFileSequence_sequence_file_format", @@ -2879,6 +2881,24 @@ class slots: range=Optional[int], ) +slots.ManuallyTypedSequence_overhang_crick_3prime = Slot( + uri=OPENCLONING_LINKML.overhang_crick_3prime, + name="ManuallyTypedSequence_overhang_crick_3prime", + curie=OPENCLONING_LINKML.curie("overhang_crick_3prime"), + model_uri=OPENCLONING_LINKML.ManuallyTypedSequence_overhang_crick_3prime, + domain=ManuallyTypedSequence, + range=Optional[int], +) + +slots.ManuallyTypedSequence_overhang_watson_3prime = Slot( + uri=OPENCLONING_LINKML.overhang_watson_3prime, + name="ManuallyTypedSequence_overhang_watson_3prime", + curie=OPENCLONING_LINKML.curie("overhang_watson_3prime"), + model_uri=OPENCLONING_LINKML.ManuallyTypedSequence_overhang_watson_3prime, + domain=ManuallyTypedSequence, + range=Optional[int], +) + slots.RestrictionSequenceCut_restriction_enzyme = Slot( uri=OPENCLONING_LINKML.restriction_enzyme, name="RestrictionSequenceCut_restriction_enzyme", @@ -2915,24 +2935,6 @@ class slots: range=Optional[str], ) -slots.ManuallyTypedSource_overhang_crick_3prime = Slot( - uri=OPENCLONING_LINKML.overhang_crick_3prime, - name="ManuallyTypedSource_overhang_crick_3prime", - curie=OPENCLONING_LINKML.curie("overhang_crick_3prime"), - model_uri=OPENCLONING_LINKML.ManuallyTypedSource_overhang_crick_3prime, - domain=ManuallyTypedSource, - range=Optional[int], -) - -slots.ManuallyTypedSource_overhang_watson_3prime = Slot( - uri=OPENCLONING_LINKML.overhang_watson_3prime, - name="ManuallyTypedSource_overhang_watson_3prime", - curie=OPENCLONING_LINKML.curie("overhang_watson_3prime"), - model_uri=OPENCLONING_LINKML.ManuallyTypedSource_overhang_watson_3prime, - domain=ManuallyTypedSource, - range=Optional[int], -) - slots.UploadedFileSource_sequence_file_format = Slot( uri=OPENCLONING_LINKML.sequence_file_format, name="UploadedFileSource_sequence_file_format", @@ -3033,6 +3035,24 @@ class slots: pattern=re.compile(r"^[^\/]+\/[^\/]+$"), ) +slots.NCBISequenceSource_repository_id = Slot( + uri=OPENCLONING_LINKML.repository_id, + name="NCBISequenceSource_repository_id", + curie=OPENCLONING_LINKML.curie("repository_id"), + model_uri=OPENCLONING_LINKML.NCBISequenceSource_repository_id, + domain=NCBISequenceSource, + range=str, +) + +slots.GenomeCoordinatesSource_location = Slot( + uri=OPENCLONING_LINKML.location, + name="GenomeCoordinatesSource_location", + curie=OPENCLONING_LINKML.curie("location"), + model_uri=OPENCLONING_LINKML.GenomeCoordinatesSource_location, + domain=GenomeCoordinatesSource, + range=str, +) + slots.RestrictionAndLigationSource_restriction_enzymes = Slot( uri=OPENCLONING_LINKML.restriction_enzymes, name="RestrictionAndLigationSource_restriction_enzymes", diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index 6e8bb75..89b7ee4 100644 --- a/project/shacl/opencloning_linkml.shacl.ttl +++ b/project/shacl/opencloning_linkml.shacl.ttl @@ -8,7 +8,7 @@ schema1:Thing a sh:NodeShape ; sh:closed true ; - sh:ignoredProperties ( opencloning_linkml:description opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:sequence opencloning_linkml:type schema1:object opencloning_linkml:greedy opencloning_linkml:options rdf:type opencloning_linkml:coordinates schema1:name opencloning_linkml:sequence_accession opencloning_linkml:overhang_watson_3prime opencloning_linkml:end opencloning_linkml:strand opencloning_linkml:annotation_tool_version opencloning_linkml:user_input opencloning_linkml:repository_id opencloning_linkml:annotation_report opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:index_in_file opencloning_linkml:left_edge opencloning_linkml:annotation_tool opencloning_linkml:output_name opencloning_linkml:sequence_file_format opencloning_linkml:category_id opencloning_linkml:primer_design opencloning_linkml:file_name opencloning_linkml:restriction_enzymes opencloning_linkml:assembly_accession opencloning_linkml:circularize opencloning_linkml:start opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:sequence_file_url opencloning_linkml:file_content opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:image ) ; + sh:ignoredProperties ( opencloning_linkml:annotation_tool schema1:name opencloning_linkml:sequence opencloning_linkml:annotation_report schema1:object opencloning_linkml:add_primer_features opencloning_linkml:file_name opencloning_linkml:primer_design opencloning_linkml:coordinates opencloning_linkml:output_name opencloning_linkml:left_edge opencloning_linkml:type rdf:type opencloning_linkml:reaction_type opencloning_linkml:overhang_crick_3prime opencloning_linkml:description opencloning_linkml:assembly_accession opencloning_linkml:sequence_file_format opencloning_linkml:right_edge opencloning_linkml:annotation_tool_version opencloning_linkml:image opencloning_linkml:restriction_enzymes opencloning_linkml:greedy opencloning_linkml:sequence_file_url opencloning_linkml:options opencloning_linkml:category_id opencloning_linkml:overhang_watson_3prime opencloning_linkml:addgene_sequence_type opencloning_linkml:gene_id opencloning_linkml:file_content opencloning_linkml:circularize opencloning_linkml:locus_tag opencloning_linkml:repository_id opencloning_linkml:circular opencloning_linkml:title opencloning_linkml:index_in_file ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -21,42 +21,18 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an Addgene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ], + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 7 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; @@ -69,85 +45,98 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:maxCount 1 ; sh:order 1 ; sh:path opencloning_linkml:addgene_sequence_type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The id of the sequence in the repository" ; sh:maxCount 1 ; sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:repository_id ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path opencloning_linkml:repository_name ] ; + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:AddgeneIdSource . opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a computational step in which sequence features are annotated in a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:in ( "plannotate" ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:annotation_tool ], + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:class opencloning_linkml:AnnotationReport ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path opencloning_linkml:annotation_report ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The version of the annotation tool" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], + sh:order 1 ; + sh:path opencloning_linkml:annotation_tool_version ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The version of the annotation tool" ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], + [ sh:in ( "plannotate" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:annotation_tool_version ], + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:annotation_tool ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:class opencloning_linkml:AnnotationReport ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path opencloning_linkml:annotation_report ] ; sh:targetClass opencloning_linkml:AnnotationSource . opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:closed true ; sh:description "Represents a fragment in an assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; + sh:property [ sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:right_location ], + [ sh:datatype xsd:boolean ; sh:description "Whether the sequence is reverse complemented in the assembly" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:reverse_complemented ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:left_location ], [ sh:class bioschemas:DNA ; sh:description "The input sequence" ; sh:maxCount 1 ; @@ -155,27 +144,34 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 4 ; sh:path opencloning_linkml:sequence ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:right_location ] ; + sh:order 0 ; + sh:path opencloning_linkml:left_location ] ; sh:targetClass opencloning_linkml:AssemblyFragment . opencloning_linkml:AssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is an assembly of other sequences" ; - sh:ignoredProperties ( opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type opencloning_linkml:add_primer_features opencloning_linkml:greedy rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:ignoredProperties ( rdf:type opencloning_linkml:add_primer_features opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type opencloning_linkml:greedy ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -183,85 +179,79 @@ opencloning_linkml:AssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ] ; + sh:order 3 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:AssemblySource . opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a Benchling URL" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; + sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The url of the gb file associated with the sequence" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 3 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The url of the gb file associated with the sequence" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ] ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ; sh:targetClass opencloning_linkml:BenchlingUrlSource . opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by CRISPR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -269,18 +259,12 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -291,56 +275,62 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:CRISPRSource . opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:closed true ; sh:description "Represents a cloning strategy" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:CreateAction ; - sh:description "The sources of the sequences that are used in the cloning strategy" ; - sh:minCount 1 ; + sh:property [ sh:class opencloning_linkml:AssociatedFile ; + sh:description "Files associated with this cloning strategy" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path opencloning_linkml:files ], + [ sh:class opencloning_linkml:Primer ; + sh:description "The primers that are used in the cloning strategy" ; sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path opencloning_linkml:sources ], - [ sh:description "The version of the backend that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:backend_version ], - [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:frontend_version ], + sh:order 2 ; + sh:path opencloning_linkml:primers ], [ sh:datatype xsd:string ; sh:description "A description of the cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:description ], - [ sh:description "The version of the schema that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:schema_version ], [ sh:class bioschemas:DNA ; sh:description "The sequences that are used in the cloning strategy" ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path opencloning_linkml:sequences ], - [ sh:class opencloning_linkml:AssociatedFile ; - sh:description "Files associated with this cloning strategy" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path opencloning_linkml:files ], - [ sh:class opencloning_linkml:Primer ; - sh:description "The primers that are used in the cloning strategy" ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path opencloning_linkml:primers ] ; + [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path opencloning_linkml:frontend_version ], + [ sh:description "The version of the backend that was used to generate this cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path opencloning_linkml:backend_version ], + [ sh:class schema1:CreateAction ; + sh:description "The sources of the sequences that are used in the cloning strategy" ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path opencloning_linkml:sources ], + [ sh:description "The version of the schema that was used to generate this cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:schema_version ] ; sh:targetClass opencloning_linkml:CloningStrategy . opencloning_linkml:CollectionSource a sh:NodeShape ; @@ -348,22 +338,6 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:description "Represents a collection of possible sources in a template" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:image ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], - [ sh:class opencloning_linkml:CollectionOption ; - sh:description "The options available in this category." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path opencloning_linkml:options ], - [ sh:datatype xsd:string ; sh:description "The title of the category" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -377,18 +351,22 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 9 ; sh:path schema1:identifier ], + [ sh:class opencloning_linkml:CollectionOption ; + sh:description "The options available in this category." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path opencloning_linkml:options ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:output_name ], + sh:order 5 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "A description of the category" ; - sh:maxCount 1 ; + sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:description ], + sh:order 3 ; + sh:path opencloning_linkml:image ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -401,23 +379,52 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:category_id ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 8 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "A description of the category" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:description ] ; sh:targetClass opencloning_linkml:CollectionSource . opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Cre - Lox recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -430,24 +437,7 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:CreLoxRecombinationSource . opencloning_linkml:DatabaseSource a sh:NodeShape ; @@ -491,68 +481,51 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Euroscarf plasmid library" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The id of the plasmid in the Euroscarf plasmid library" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^P\\d+$" ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 3 ; sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; + sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:repository_name ], + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 5 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The id of the plasmid in the Euroscarf plasmid library" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^P\\d+$" ] ; sh:targetClass opencloning_linkml:EuroscarfSource . opencloning_linkml:GatewaySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Gateway cloning" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:greedy ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -563,11 +536,12 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; sh:minCount 1 ; sh:order 0 ; sh:path opencloning_linkml:reaction_type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -586,106 +560,108 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], + [ sh:datatype xsd:boolean ; + sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:greedy ] ; sh:targetClass opencloning_linkml:GatewaySource . opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The accession of the sequence" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:sequence_accession ], - [ sh:datatype xsd:integer ; - sh:description "The ending coordinate (1-based) of the sequence in the sequence accession" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The gene id of the sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:end ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:order 2 ; + sh:path opencloning_linkml:gene_id ], + [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path schema1:identifier ], + sh:order 3 ; + sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The accession of the assembly" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:type ], + sh:order 0 ; + sh:path opencloning_linkml:assembly_accession ], [ sh:datatype xsd:string ; - sh:description "The locus tag of the sequence" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:locus_tag ], + sh:order 6 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 10 ; + sh:order 8 ; sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "The starting coordinate (1-based) of the sequence in the sequence accession" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:start ], + sh:order 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; - sh:description "The gene id of the sequence" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:gene_id ], + sh:order 9 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "The accession of the assembly" ; + sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:assembly_accession ], + sh:order 4 ; + sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The strand of the sequence in the sequence accession, should be 1 or -1" ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:strand ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:order 5 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The locus tag of the sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:locus_tag ] ; sh:targetClass opencloning_linkml:GenomeCoordinatesSource . opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Gibson assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -699,141 +675,111 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:GibsonAssemblySource . opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by homologous recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ] ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:HomologousRecombinationSource . opencloning_linkml:IGEMSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from an iGEM collection" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; + sh:order 6 ; sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:datatype xsd:string ; + sh:description "The URL of the sequence file, for now github repository" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^.*.gb$" ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, for now github repository" ; + sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^.*.gb$" ] ; + sh:order 1 ; + sh:path opencloning_linkml:repository_id ] ; sh:targetClass opencloning_linkml:IGEMSource . opencloning_linkml:InFusionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -845,11 +791,29 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:InFusionSource . @@ -858,17 +822,17 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 5 ; sh:path schema1:identifier ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 3 ; sh:path schema1:identifier ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; @@ -876,6 +840,11 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -887,42 +856,31 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ] ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:InVivoAssemblySource . opencloning_linkml:LigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -930,108 +888,182 @@ opencloning_linkml:LigationSource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:LigationSource . -opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; +opencloning_linkml:ManuallyTypedSequence a sh:NodeShape ; sh:closed true ; - sh:description "Represents the source of a sequence that is manually typed by the user" ; + sh:description "Represents a sequence that is manually typed by the user" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], + sh:order 1 ; + sh:path opencloning_linkml:overhang_watson_3prime ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The sequence of the manually typed sequence" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:sequence ; + sh:pattern "^[acgtACGT]+$" ], [ sh:datatype xsd:integer ; sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:overhang_crick_3prime ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is circular or linear" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; + sh:path opencloning_linkml:type ] ; + sh:targetClass opencloning_linkml:ManuallyTypedSequence . + +opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence that is manually typed by the user" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; + sh:order 3 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:user_input ; - sh:pattern "^[acgtACGT]+$" ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is circular or not" ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:circular ], + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ] ; + sh:targetClass opencloning_linkml:ManuallyTypedSource . + +opencloning_linkml:NCBISequenceSource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence that is identified by an NCBI sequence accession" ; + sh:ignoredProperties ( opencloning_linkml:gene_id rdf:type opencloning_linkml:locus_tag opencloning_linkml:assembly_accession ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:overhang_watson_3prime ], + sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ] ; - sh:targetClass opencloning_linkml:ManuallyTypedSource . + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:coordinates ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ] ; + sh:targetClass opencloning_linkml:NCBISequenceSource . opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by oligo hybridization" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:overhang_crick_3prime ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1044,11 +1076,18 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Open DNA collections" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Subpath of the sequence in the Open DNA collections repository" ; sh:maxCount 1 ; @@ -1057,36 +1096,24 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^[^\\/]+\\/[^\\/]+$" ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 2 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; - sh:path schema1:object ], + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -1100,29 +1127,18 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation of PCR products as part of overlap extension PCR. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1130,19 +1146,47 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:OverlapExtensionPCRLigationSource . opencloning_linkml:PCRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by PCR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:datatype xsd:boolean ; sh:description "Whether to add primer features to the PCR product" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1161,23 +1205,6 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -1190,27 +1217,26 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step using Plannotate" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:property [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 14 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; + sh:order 3 ; + sh:path opencloning_linkml:strand ], + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path opencloning_linkml:sequence ], - [ sh:datatype xsd:float ; + sh:order 5 ; + sh:path opencloning_linkml:full_length_of_feature_in_db ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:percent_identity ], + sh:order 9 ; + sh:path opencloning_linkml:database ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 12 ; - sh:path opencloning_linkml:Description ], + sh:order 0 ; + sh:path opencloning_linkml:sseqid ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1219,28 +1245,39 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sseqid ], + sh:order 11 ; + sh:path opencloning_linkml:Type ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path opencloning_linkml:Description ], [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path opencloning_linkml:percent_match_length ], - [ sh:datatype xsd:integer ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:strand ], + sh:order 14 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:percent_identity ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path opencloning_linkml:Type ], - [ sh:datatype xsd:integer ; + sh:order 10 ; + sh:path opencloning_linkml:Feature ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:length_of_found_feature ], + sh:order 13 ; + sh:path opencloning_linkml:sequence ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1249,18 +1286,8 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:full_length_of_feature_in_db ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path opencloning_linkml:Feature ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path opencloning_linkml:database ], + sh:order 6 ; + sh:path opencloning_linkml:length_of_found_feature ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1272,7 +1299,25 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by polymerase extension" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1283,31 +1328,56 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; + sh:path opencloning_linkml:output_name ] ; + sh:targetClass opencloning_linkml:PolymeraseExtensionSource . + +opencloning_linkml:RepositoryIdSource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence that is identified by a repository id" ; + sh:ignoredProperties ( rdf:type opencloning_linkml:locus_tag opencloning_linkml:sequence_file_url opencloning_linkml:assembly_accession opencloning_linkml:coordinates opencloning_linkml:addgene_sequence_type opencloning_linkml:gene_id ) ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; + sh:order 4 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The id of the sequence in the repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; + sh:order 3 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 5 ; sh:path schema1:identifier ] ; - sh:targetClass opencloning_linkml:PolymeraseExtensionSource . + sh:targetClass opencloning_linkml:RepositoryIdSource . -opencloning_linkml:RepositoryIdSource a sh:NodeShape ; +opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:closed true ; - sh:description "Represents the source of a sequence that is identified by a repository id" ; - sh:ignoredProperties ( opencloning_linkml:sequence_file_url rdf:type opencloning_linkml:addgene_sequence_type ) ; + sh:description "Represents the source of a sequence that is generated by restriction and ligation" ; + sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1315,81 +1385,33 @@ opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:restriction_enzymes ], [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ], + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ] ; - sh:targetClass opencloning_linkml:RepositoryIdSource . - -opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; - sh:closed true ; - sh:description "Represents the source of a sequence that is generated by restriction and ligation" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; + [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzymes ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1403,22 +1425,22 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class opencloning_linkml:RestrictionSequenceCut ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path opencloning_linkml:right_edge ], + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:class opencloning_linkml:RestrictionSequenceCut ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path opencloning_linkml:left_edge ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1426,22 +1448,22 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:order 2 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 6 ; sh:path schema1:identifier ], [ sh:class opencloning_linkml:RestrictionSequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path opencloning_linkml:left_edge ], + sh:order 1 ; + sh:path opencloning_linkml:right_edge ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RestrictionEnzymeDigestionSource . @@ -1450,16 +1472,22 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:description "Represents the in-silico transformation of a sequence into its reverse complement" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], + sh:order 0 ; + sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1472,13 +1500,7 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:ReverseComplementSource . opencloning_linkml:SEVASource a sh:NodeShape ; @@ -1486,40 +1508,36 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:description "Represents the source of a sequence that is identified by a SEVA id" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 4 ; sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; + sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 3 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:string ; sh:description "The SEVA plasmid name" ; sh:maxCount 1 ; @@ -1529,12 +1547,11 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:path opencloning_linkml:repository_id ; sh:pattern "^pSEVA\\d+.*$" ], [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ; + sh:order 2 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:SEVASource . opencloning_linkml:SequenceCutSource a sh:NodeShape ; @@ -1542,65 +1559,52 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 6 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path opencloning_linkml:left_edge ], - [ sh:class opencloning_linkml:SequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path opencloning_linkml:right_edge ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path opencloning_linkml:right_edge ] ; sh:targetClass opencloning_linkml:SequenceCutSource . opencloning_linkml:SequencingFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequencing file and its alignment to a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The name of the file" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:file_name ], - [ sh:description "The type of file" ; + sh:property [ sh:description "The type of file" ; sh:in ( NCIT:C171177 ) ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1618,7 +1622,20 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 2 ; - sh:path opencloning_linkml:sequence_id ] ; + sh:path opencloning_linkml:sequence_id ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The name of the file" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:file_name ] ; sh:targetClass opencloning_linkml:SequencingFile . opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; @@ -1626,11 +1643,11 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:description "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /." ; sh:maxCount 1 ; @@ -1639,48 +1656,37 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^[^\\/]+\\/[^\\/]+$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; - sh:path schema1:object ], + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:SnapGenePlasmidSource . opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is circular or linear" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1693,6 +1699,12 @@ opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:primer_design ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is circular or linear" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1706,12 +1718,11 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:description "A sequence (may have features) defined by the content of a text file" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:overhang_watson_3prime ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1719,22 +1730,23 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:order 5 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:overhang_watson_3prime ], + sh:order 1 ; + sh:path opencloning_linkml:overhang_crick_3prime ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:file_content ], - [ sh:datatype xsd:integer ; - sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang_crick_3prime ], [ sh:description "The format of a sequence file" ; sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; @@ -1747,64 +1759,64 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is uploaded as a file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:coordinates ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The index of the sequence in the file" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:index_in_file ], + sh:order 6 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "The name of the file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:file_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], - [ sh:description "The format of a sequence file" ; - sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 8 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:description "The format of a sequence file" ; + sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:output_name ], + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_format ], [ sh:datatype xsd:boolean ; sh:description "Whether the sequence should be circularized (FASTA only)" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:circularize ], + [ sh:datatype xsd:integer ; + sh:description "The index of the sequence in the file" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:index_in_file ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; + sh:path schema1:identifier ], + [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:coordinates ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 9 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:UploadedFileSource . @@ -1812,43 +1824,38 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a WeKwikGene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The id of the gene in the WeKwikGene database" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^\\d+$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "The id of the gene in the WeKwikGene database" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 1 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^\\d+$" ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -1856,18 +1863,18 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:WekWikGeneIdSource . opencloning_linkml:AnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step" ; - sh:ignoredProperties ( opencloning_linkml:Type opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:start_location opencloning_linkml:sseqid opencloning_linkml:percent_match_length opencloning_linkml:Description opencloning_linkml:strand opencloning_linkml:length_of_found_feature opencloning_linkml:Feature rdf:type opencloning_linkml:fragment opencloning_linkml:percent_identity opencloning_linkml:end_location opencloning_linkml:sequence opencloning_linkml:database ) ; + sh:ignoredProperties ( opencloning_linkml:start_location opencloning_linkml:Feature opencloning_linkml:sequence opencloning_linkml:length_of_found_feature opencloning_linkml:full_length_of_feature_in_db rdf:type opencloning_linkml:strand opencloning_linkml:end_location opencloning_linkml:Description opencloning_linkml:percent_identity opencloning_linkml:fragment opencloning_linkml:percent_match_length opencloning_linkml:database opencloning_linkml:sseqid opencloning_linkml:Type ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1880,19 +1887,19 @@ opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a file associated with a sequence" ; sh:ignoredProperties ( rdf:type opencloning_linkml:alignment ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], - [ sh:class bioschemas:DNA ; + sh:property [ sh:class bioschemas:DNA ; sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path opencloning_linkml:sequence_id ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "The name of the file" ; sh:maxCount 1 ; @@ -1912,7 +1919,14 @@ opencloning_linkml:CollectionOption a sh:NodeShape ; sh:closed true ; sh:description "Represents an option in a collection" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:class schema1:CreateAction ; + sh:description "The source of the sequence for this option" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path opencloning_linkml:source ], + [ sh:datatype xsd:string ; sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1924,14 +1938,7 @@ opencloning_linkml:CollectionOption a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; - sh:path opencloning_linkml:info ], - [ sh:class schema1:CreateAction ; - sh:description "The source of the sequence for this option" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path opencloning_linkml:source ] ; + sh:path opencloning_linkml:info ] ; sh:targetClass opencloning_linkml:CollectionOption . opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; @@ -1950,23 +1957,23 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:resistance ], - [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; - sh:in ( "OligoPair" "AddgenePlasmid" ) ; + [ sh:datatype xsd:string ; + sh:description "The well position in the kit plate" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:well ], [ sh:datatype xsd:string ; sh:description "A description of the option" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:description ], - [ sh:datatype xsd:string ; - sh:description "The well position in the kit plate" ; + [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; + sh:in ( "OligoPair" "AddgenePlasmid" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:well ] ; + sh:order 2 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:CollectionOptionInfo . opencloning_linkml:Primer a sh:NodeShape ; @@ -2009,44 +2016,50 @@ opencloning_linkml:Primer a sh:NodeShape ; schema1:CreateAction a sh:NodeShape ; sh:closed false ; sh:description "Represents the source of a sequence" ; - sh:ignoredProperties ( opencloning_linkml:description opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:greedy opencloning_linkml:options rdf:type opencloning_linkml:coordinates opencloning_linkml:sequence_accession opencloning_linkml:overhang_watson_3prime opencloning_linkml:end opencloning_linkml:strand opencloning_linkml:annotation_tool_version opencloning_linkml:user_input opencloning_linkml:repository_id opencloning_linkml:annotation_report opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:index_in_file opencloning_linkml:left_edge opencloning_linkml:annotation_tool opencloning_linkml:sequence_file_format opencloning_linkml:category_id opencloning_linkml:file_name opencloning_linkml:restriction_enzymes opencloning_linkml:assembly_accession opencloning_linkml:circularize opencloning_linkml:start opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:sequence_file_url opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:image ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:annotation_tool opencloning_linkml:right_edge opencloning_linkml:annotation_tool_version opencloning_linkml:image opencloning_linkml:annotation_report opencloning_linkml:add_primer_features opencloning_linkml:restriction_enzymes opencloning_linkml:file_name opencloning_linkml:greedy opencloning_linkml:sequence_file_url opencloning_linkml:options opencloning_linkml:coordinates opencloning_linkml:category_id opencloning_linkml:addgene_sequence_type opencloning_linkml:gene_id opencloning_linkml:left_edge opencloning_linkml:circularize rdf:type opencloning_linkml:locus_tag opencloning_linkml:repository_id opencloning_linkml:reaction_type opencloning_linkml:title opencloning_linkml:circular opencloning_linkml:overhang_crick_3prime opencloning_linkml:description opencloning_linkml:assembly_accession opencloning_linkml:sequence_file_format opencloning_linkml:index_in_file ) ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:output_name ] ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ] ; sh:targetClass schema1:CreateAction . opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; sh:closed true ; sh:description "Represents a cut in a DNA sequence that is made by a restriction enzyme" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:restriction_enzyme ], + [ sh:datatype xsd:integer ; sh:description "The position of the cut in the watson strand. The cut is made before the base at this position (zero-based), so that cut position 1 cuts after the first base." ; sh:maxCount 1 ; sh:minCount 1 ; @@ -2059,13 +2072,7 @@ opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:overhang ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzyme ] ; + sh:path opencloning_linkml:overhang ] ; sh:targetClass opencloning_linkml:RestrictionSequenceCut . opencloning_linkml:SequenceCut a sh:NodeShape ; @@ -2073,25 +2080,25 @@ opencloning_linkml:SequenceCut a sh:NodeShape ; sh:description "Represents a cut in a DNA sequence" ; sh:ignoredProperties ( opencloning_linkml:restriction_enzyme rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The position of the cut in the watson strand. The cut is made before the base at this position (zero-based), so that cut position 1 cuts after the first base." ; + sh:description "The length of the overhang that is left after the cut. It can be negative, same meaning as in pydna's `dseq::ovhg` and biopython's `Bio.Restriction.RestrictionType.ovhg`." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:cut_watson ], + sh:order 1 ; + sh:path opencloning_linkml:overhang ], [ sh:datatype xsd:integer ; - sh:description "The length of the overhang that is left after the cut. It can be negative, same meaning as in pydna's `dseq::ovhg` and biopython's `Bio.Restriction.RestrictionType.ovhg`." ; + sh:description "The position of the cut in the watson strand. The cut is made before the base at this position (zero-based), so that cut position 1 cuts after the first base." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang ] ; + sh:order 0 ; + sh:path opencloning_linkml:cut_watson ] ; sh:targetClass opencloning_linkml:SequenceCut . bioschemas:DNA a sh:NodeShape ; sh:closed false ; sh:description "Represents a sequence" ; - sh:ignoredProperties ( opencloning_linkml:overhang_watson_3prime opencloning_linkml:sequence_file_format rdf:type opencloning_linkml:file_content opencloning_linkml:primer_design schema1:name opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:sequence ) ; + sh:ignoredProperties ( opencloning_linkml:file_content schema1:name opencloning_linkml:sequence rdf:type opencloning_linkml:circular opencloning_linkml:overhang_crick_3prime opencloning_linkml:sequence_file_format opencloning_linkml:primer_design opencloning_linkml:overhang_watson_3prime ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -2110,7 +2117,7 @@ bioschemas:DNA a sh:NodeShape ; schema1:Role a sh:NodeShape ; sh:closed true ; sh:description "Represents an input to a source" ; - sh:ignoredProperties ( opencloning_linkml:right_location rdf:type opencloning_linkml:left_location opencloning_linkml:reverse_complemented ) ; + sh:ignoredProperties ( opencloning_linkml:reverse_complemented rdf:type opencloning_linkml:right_location opencloning_linkml:left_location ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; diff --git a/project/shex/opencloning_linkml.shex b/project/shex/opencloning_linkml.shex index e837642..654f6e6 100644 --- a/project/shex/opencloning_linkml.shex +++ b/project/shex/opencloning_linkml.shex @@ -11,6 +11,8 @@ PREFIX bioschemas: xsd:string + xsd:string + linkml:String xsd:string linkml:Integer xsd:integer @@ -218,15 +220,12 @@ linkml:Sparqlpath xsd:string } CLOSED { - ( $ ( & ; - rdf:type [ schema1:CreateAction ] ? ; + ( $ ( & ; + rdf:type [ ] ? ; @linkml:String ? ; - @linkml:String ; @linkml:String ? ; @linkml:Integer ? ; - @linkml:Integer ; - @linkml:Integer ; - @linkml:Integer + @linkml:String ) ; rdf:type [ ] ) @@ -284,14 +283,22 @@ linkml:Sparqlpath xsd:string ) } - CLOSED { - ( $ ( & ; - rdf:type [ schema1:CreateAction ] ? ; + CLOSED { + ( $ ( & ; + rdf:type [ bioschemas:DNA ] ? ; @linkml:Integer ? ; @linkml:Integer ? ; - @linkml:String ; + @linkml:String ; @linkml:Boolean ? ) ; + rdf:type [ ] + ) +} + + CLOSED { + ( $ ( & ; + rdf:type [ schema1:CreateAction ] ? + ) ; rdf:type [ ] ) } @@ -304,6 +311,18 @@ linkml:Sparqlpath xsd:string } OR @ OR @ ) + ( + CLOSED { + ( $ ( & ; + rdf:type [ ] ? ; + @ ? ; + @linkml:String + ) ; + rdf:type [ ] + ) + } OR @ +) + CLOSED { ( $ ( & ; rdf:type [ schema1:CreateAction ] ? ; @@ -385,21 +404,12 @@ linkml:Sparqlpath xsd:string CLOSED { ( $ ( & ; rdf:type [ schema1:CreateAction ] ? ; - @linkml:String ; - [ - - - - - - - - ] + @linkml:String ) ; rdf:type [ ] ) - } OR @ OR @ OR @ OR @ OR @ OR - @ OR @ OR @ + } OR @ OR @ OR @ OR @ OR @ OR + @ OR @ OR @ OR @ ) CLOSED { @@ -439,7 +449,7 @@ linkml:Sparqlpath xsd:string } ( - @ OR @ OR @ + @ OR @ OR @ OR @ ) { @@ -502,9 +512,9 @@ linkml:Sparqlpath xsd:string } ( - @ OR @ OR @ OR @ OR @ OR - @ OR @ OR @ OR @ OR - @ OR @ OR @ + @ OR @ OR @ OR @ OR @ OR + @ OR @ OR @ OR @ OR + @ OR @ ) { diff --git a/project/sqlschema/opencloning_linkml.sql b/project/sqlschema/opencloning_linkml.sql index 4b7bdb4..8ce73d6 100644 --- a/project/sqlschema/opencloning_linkml.sql +++ b/project/sqlschema/opencloning_linkml.sql @@ -16,6 +16,13 @@ -- * Slot: file_content Description: -- * Slot: id Description: A unique identifier for a thing -- * Slot: type Description: Designates the class +-- # Class: "ManuallyTypedSequence" Description: "Represents a sequence that is manually typed by the user" +-- * Slot: overhang_crick_3prime Description: Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand +-- * Slot: overhang_watson_3prime Description: The equivalent of `overhang_crick_3prime` but for the watson strand +-- * Slot: sequence Description: The sequence of the manually typed sequence +-- * Slot: circular Description: Whether the sequence is circular or linear +-- * Slot: id Description: A unique identifier for a thing +-- * Slot: type Description: Designates the class -- # Class: "Primer" Description: "An oligonucleotide or primer" -- * Slot: name Description: A human-readable name for a thing -- * Slot: database_id Description: The id of an entity in a database @@ -41,6 +48,7 @@ -- * Slot: EuroscarfSource_id Description: Autocreated FK slot -- * Slot: IGEMSource_id Description: Autocreated FK slot -- * Slot: OpenDNACollectionsSource_id Description: Autocreated FK slot +-- * Slot: NCBISequenceSource_id Description: Autocreated FK slot -- * Slot: GenomeCoordinatesSource_id Description: Autocreated FK slot -- * Slot: SequenceCutSource_id Description: Autocreated FK slot -- * Slot: RestrictionEnzymeDigestionSource_id Description: Autocreated FK slot @@ -102,10 +110,6 @@ -- * Slot: resistance Description: The antibiotic resistance of the plasmid -- * Slot: well Description: The well position in the kit plate -- # Class: "ManuallyTypedSource" Description: "Represents the source of a sequence that is manually typed by the user" --- * Slot: overhang_crick_3prime Description: Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand --- * Slot: overhang_watson_3prime Description: The equivalent of `overhang_crick_3prime` but for the watson strand --- * Slot: user_input Description: --- * Slot: circular Description: Whether the sequence is circular or not -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -122,7 +126,6 @@ -- * Slot: id Description: A unique identifier for a thing -- # Class: "RepositoryIdSource" Description: "Represents the source of a sequence that is identified by a repository id" -- * Slot: repository_id Description: The id of the sequence in the repository --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -131,7 +134,6 @@ -- * Slot: sequence_file_url Description: The URL of a sequence file -- * Slot: addgene_sequence_type Description: -- * Slot: repository_id Description: The id of the sequence in the repository --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -139,7 +141,6 @@ -- # Class: "WekWikGeneIdSource" Description: "Represents the source of a sequence that is identified by a WeKwikGene id" -- * Slot: sequence_file_url Description: The URL of a sequence file -- * Slot: repository_id Description: The id of the gene in the WeKwikGene database --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -147,28 +148,24 @@ -- # Class: "SEVASource" Description: "Represents the source of a sequence that is identified by a SEVA id" -- * Slot: sequence_file_url Description: The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI. -- * Slot: repository_id Description: The SEVA plasmid name --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database -- * Slot: id Description: A unique identifier for a thing -- # Class: "BenchlingUrlSource" Description: "Represents the source of a sequence that is identified by a Benchling URL" -- * Slot: repository_id Description: The url of the gb file associated with the sequence --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database -- * Slot: id Description: A unique identifier for a thing -- # Class: "SnapGenePlasmidSource" Description: "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" -- * Slot: repository_id Description: The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /. --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database -- * Slot: id Description: A unique identifier for a thing -- # Class: "EuroscarfSource" Description: "Represents the source of a sequence from the Euroscarf plasmid library" -- * Slot: repository_id Description: The id of the plasmid in the Euroscarf plasmid library --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -176,7 +173,6 @@ -- # Class: "IGEMSource" Description: "Represents the source of a sequence from an iGEM collection" -- * Slot: sequence_file_url Description: The URL of the sequence file, for now github repository -- * Slot: repository_id Description: The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$ --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -184,19 +180,23 @@ -- # Class: "OpenDNACollectionsSource" Description: "Represents the source of a sequence from the Open DNA collections" -- * Slot: sequence_file_url Description: The URL of a sequence file -- * Slot: repository_id Description: Subpath of the sequence in the Open DNA collections repository --- * Slot: repository_name Description: +-- * Slot: type Description: Designates the class +-- * Slot: output_name Description: Used to specify the name of the output sequence +-- * Slot: database_id Description: The id of an entity in a database +-- * Slot: id Description: A unique identifier for a thing +-- # Class: "NCBISequenceSource" Description: "Represents the source of a sequence that is identified by an NCBI sequence accession" +-- * Slot: coordinates Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. +-- * Slot: repository_id Description: The sequence accession (e.g. X60065.1) -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database -- * Slot: id Description: A unique identifier for a thing -- # Class: "GenomeCoordinatesSource" Description: "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" -- * Slot: assembly_accession Description: The accession of the assembly --- * Slot: sequence_accession Description: The accession of the sequence -- * Slot: locus_tag Description: The locus tag of the sequence -- * Slot: gene_id Description: The gene id of the sequence --- * Slot: start Description: The starting coordinate (1-based) of the sequence in the sequence accession --- * Slot: end Description: The ending coordinate (1-based) of the sequence in the sequence accession --- * Slot: strand Description: The strand of the sequence in the sequence accession, should be 1 or -1 +-- * Slot: coordinates Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. +-- * Slot: repository_id Description: The sequence accession (e.g. X60065.1) -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -390,6 +390,15 @@ CREATE TABLE "TextFileSequence" ( type TEXT, PRIMARY KEY (id) ); +CREATE TABLE "ManuallyTypedSequence" ( + overhang_crick_3prime INTEGER, + overhang_watson_3prime INTEGER, + sequence TEXT NOT NULL, + circular BOOLEAN, + id INTEGER NOT NULL, + type TEXT, + PRIMARY KEY (id) +); CREATE TABLE "SequenceCut" ( id INTEGER NOT NULL, cut_watson INTEGER NOT NULL, @@ -430,10 +439,6 @@ CREATE TABLE "CollectionOptionInfo" ( PRIMARY KEY (id) ); CREATE TABLE "ManuallyTypedSource" ( - overhang_crick_3prime INTEGER, - overhang_watson_3prime INTEGER, - user_input TEXT NOT NULL, - circular BOOLEAN, type TEXT, output_name TEXT, database_id INTEGER, @@ -454,7 +459,6 @@ CREATE TABLE "UploadedFileSource" ( ); CREATE TABLE "RepositoryIdSource" ( repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -465,7 +469,6 @@ CREATE TABLE "AddgeneIdSource" ( sequence_file_url TEXT, addgene_sequence_type VARCHAR(14), repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -475,7 +478,6 @@ CREATE TABLE "AddgeneIdSource" ( CREATE TABLE "WekWikGeneIdSource" ( sequence_file_url TEXT, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -485,7 +487,6 @@ CREATE TABLE "WekWikGeneIdSource" ( CREATE TABLE "SEVASource" ( sequence_file_url TEXT, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -494,7 +495,6 @@ CREATE TABLE "SEVASource" ( ); CREATE TABLE "BenchlingUrlSource" ( repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -503,7 +503,6 @@ CREATE TABLE "BenchlingUrlSource" ( ); CREATE TABLE "SnapGenePlasmidSource" ( repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -512,7 +511,6 @@ CREATE TABLE "SnapGenePlasmidSource" ( ); CREATE TABLE "EuroscarfSource" ( repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -522,7 +520,6 @@ CREATE TABLE "EuroscarfSource" ( CREATE TABLE "IGEMSource" ( sequence_file_url TEXT NOT NULL, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -532,7 +529,15 @@ CREATE TABLE "IGEMSource" ( CREATE TABLE "OpenDNACollectionsSource" ( sequence_file_url TEXT, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, + type TEXT, + output_name TEXT, + database_id INTEGER, + id INTEGER NOT NULL, + PRIMARY KEY (id) +); +CREATE TABLE "NCBISequenceSource" ( + coordinates TEXT, + repository_id TEXT NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -541,12 +546,10 @@ CREATE TABLE "OpenDNACollectionsSource" ( ); CREATE TABLE "GenomeCoordinatesSource" ( assembly_accession TEXT, - sequence_accession TEXT NOT NULL, locus_tag TEXT, gene_id INTEGER, - start INTEGER NOT NULL, - "end" INTEGER NOT NULL, - strand INTEGER NOT NULL, + coordinates TEXT, + repository_id TEXT NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -795,6 +798,7 @@ CREATE TABLE "SourceInput" ( "EuroscarfSource_id" INTEGER, "IGEMSource_id" INTEGER, "OpenDNACollectionsSource_id" INTEGER, + "NCBISequenceSource_id" INTEGER, "GenomeCoordinatesSource_id" INTEGER, "SequenceCutSource_id" INTEGER, "RestrictionEnzymeDigestionSource_id" INTEGER, @@ -830,6 +834,7 @@ CREATE TABLE "SourceInput" ( FOREIGN KEY("EuroscarfSource_id") REFERENCES "EuroscarfSource" (id), FOREIGN KEY("IGEMSource_id") REFERENCES "IGEMSource" (id), FOREIGN KEY("OpenDNACollectionsSource_id") REFERENCES "OpenDNACollectionsSource" (id), + FOREIGN KEY("NCBISequenceSource_id") REFERENCES "NCBISequenceSource" (id), FOREIGN KEY("GenomeCoordinatesSource_id") REFERENCES "GenomeCoordinatesSource" (id), FOREIGN KEY("SequenceCutSource_id") REFERENCES "SequenceCutSource" (id), FOREIGN KEY("RestrictionEnzymeDigestionSource_id") REFERENCES "RestrictionEnzymeDigestionSource" (id), diff --git a/src/data/examples/cloning_strategy_with_files.json b/src/data/examples/cloning_strategy_with_files.json index 771f878..e1bf14e 100644 --- a/src/data/examples/cloning_strategy_with_files.json +++ b/src/data/examples/cloning_strategy_with_files.json @@ -57,7 +57,7 @@ ] } ], - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/cloning_strategy_with_sequencing.json b/src/data/examples/cloning_strategy_with_sequencing.json index 926d5fc..3b9f72b 100644 --- a/src/data/examples/cloning_strategy_with_sequencing.json +++ b/src/data/examples/cloning_strategy_with_sequencing.json @@ -57,7 +57,7 @@ ] } ], - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/collection_example.json b/src/data/examples/collection_example.json index 5bccb96..58cb31b 100644 --- a/src/data/examples/collection_example.json +++ b/src/data/examples/collection_example.json @@ -36,7 +36,6 @@ "database_id": null, "input": [], "repository_id": "39295", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/49547/50886467-8250-49c3-8987-07dbd5627b8e/addgene-plasmid-39295-sequence-49547.gbk", "addgene_sequence_type": "depositor-full" }, @@ -51,7 +50,6 @@ "database_id": null, "input": [], "repository_id": "39282", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/240599/4936a6ae-6b4d-4d24-b7ac-2339fad5755d/addgene-plasmid-39282-sequence-240599.gbk", "addgene_sequence_type": "addgene-full" }, @@ -81,7 +79,6 @@ "database_id": null, "input": [], "repository_id": "39295", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/49547/50886467-8250-49c3-8987-07dbd5627b8e/addgene-plasmid-39295-sequence-49547.gbk", "addgene_sequence_type": "depositor-full" }, @@ -102,7 +99,6 @@ "database_id": null, "input": [], "repository_id": "39282", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/240599/4936a6ae-6b4d-4d24-b7ac-2339fad5755d/addgene-plasmid-39282-sequence-240599.gbk", "addgene_sequence_type": "addgene-full" }, @@ -120,7 +116,7 @@ "primers": [], "description": "A dummy example", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/crispr_hdr.json b/src/data/examples/crispr_hdr.json index ec7a697..0832a55 100644 --- a/src/data/examples/crispr_hdr.json +++ b/src/data/examples/crispr_hdr.json @@ -40,13 +40,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "NC_003424.3", + "coordinates": "1877009..1881726", "assembly_accession": "GCF_000002945.1", - "sequence_accession": "NC_003424.3", "locus_tag": "SPAPB1A10.09", - "gene_id": 2543372, - "start": 1877009, - "end": 1881726, - "strand": 1 + "gene_id": 2543372 }, { "id": 2, @@ -55,7 +53,6 @@ "database_id": null, "input": [], "repository_id": "39295", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/49547/50886467-8250-49c3-8987-07dbd5627b8e/addgene-plasmid-39295-sequence-49547.gbk", "addgene_sequence_type": "depositor-full" }, @@ -150,7 +147,7 @@ ], "description": "Replacing a fragment in the ase1 ORF by a 3xHA tag, using CRISPR-HDR", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/extract_subsequence_from_file.json b/src/data/examples/extract_subsequence_from_file.json index aea8811..3cd61b4 100644 --- a/src/data/examples/extract_subsequence_from_file.json +++ b/src/data/examples/extract_subsequence_from_file.json @@ -26,7 +26,7 @@ "primers": [], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gateway.json b/src/data/examples/gateway.json index cc3f78c..b7f2ed9 100644 --- a/src/data/examples/gateway.json +++ b/src/data/examples/gateway.json @@ -56,13 +56,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "NC_000913.3", + "coordinates": "complement(362231..367305)", "assembly_accession": "GCF_000005845.2", - "sequence_accession": "NC_000913.3", "locus_tag": "b0344", - "gene_id": 945006, - "start": 362231, - "end": 367305, - "strand": -1 + "gene_id": 945006 }, { "id": 2, @@ -70,8 +68,7 @@ "output_name": "pDONR221", "database_id": null, "input": [], - "repository_id": "gateway_cloning_vectors/pDONR221", - "repository_name": "snapgene" + "repository_id": "gateway_cloning_vectors/pDONR221" }, { "id": 3, @@ -79,8 +76,7 @@ "output_name": "pcDNA6.2_C-YFP-DEST", "database_id": null, "input": [], - "repository_id": "gateway_cloning_vectors/pcDNA6.2_C-YFP-DEST", - "repository_name": "snapgene" + "repository_id": "gateway_cloning_vectors/pcDNA6.2_C-YFP-DEST" }, { "id": 4, @@ -196,7 +192,7 @@ ], "description": "Cloning the lacZ gene from E. coli into an entry clone, then expression clone", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gateway_start.json b/src/data/examples/gateway_start.json index d1ea720..727c079 100644 --- a/src/data/examples/gateway_start.json +++ b/src/data/examples/gateway_start.json @@ -38,13 +38,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 2, @@ -52,8 +50,7 @@ "output_name": "pDONR221", "database_id": null, "input": [], - "repository_id": "gateway_cloning_vectors/pDONR221", - "repository_name": "snapgene" + "repository_id": "gateway_cloning_vectors/pDONR221" }, { "id": 3, @@ -105,7 +102,7 @@ ], "description": "Deletion of the ORF of ase1 by homologous recombination in S.pombe", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gibson_assembly.json b/src/data/examples/gibson_assembly.json index 0a530e0..e6ea442 100644 --- a/src/data/examples/gibson_assembly.json +++ b/src/data/examples/gibson_assembly.json @@ -49,7 +49,6 @@ "database_id": null, "input": [], "repository_id": "52691", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v2.0.0/sequences/210876/0ad0ffaa-d9b9-48c4-af54-19e87587070e/addgene-plasmid-52691-sequence-210876.gbk", "addgene_sequence_type": "addgene-full" }, @@ -59,13 +58,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "NC_003424.3", + "coordinates": "1877189..1881726", "assembly_accession": "GCF_000002945.2", - "sequence_accession": "NC_003424.3", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": 2543372, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": 2543372 }, { "id": 3, @@ -185,7 +182,7 @@ ], "description": "Cloning the ase1 gene from S. pombe's genome into pREP42-MCS+ expression vector using Gibson assembly.", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/golden_gate.json b/src/data/examples/golden_gate.json index 1afbcc4..742e8ef 100644 --- a/src/data/examples/golden_gate.json +++ b/src/data/examples/golden_gate.json @@ -97,7 +97,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110162/c1c98803-c8ba-44a6-95b8-d6a94097e36f/addgene-plasmid-65109-sequence-110162.gbk", "addgene_sequence_type": "depositor-full" }, @@ -108,7 +107,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110169/9ee8c8ed-5a57-43f9-99dd-79e66631ad89/addgene-plasmid-65116-sequence-110169.gbk", "addgene_sequence_type": "depositor-full" }, @@ -119,7 +117,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110198/117464a2-bab4-4fd2-8157-4ac89cf7ab6d/addgene-plasmid-65145-sequence-110198.gbk", "addgene_sequence_type": "depositor-full" }, @@ -130,7 +127,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110211/a0b9a8c0-9498-4100-8260-5346cffa1979/addgene-plasmid-65158-sequence-110211.gbk", "addgene_sequence_type": "depositor-full" }, @@ -141,7 +137,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/193065/ddf46d89-9718-435c-b5bb-3002a17065ab/addgene-plasmid-65174-sequence-193065.gbk", "addgene_sequence_type": "addgene-full" }, @@ -152,7 +147,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110234/113eb058-6e21-40b5-be0b-2e9c986e72bb/addgene-plasmid-65181-sequence-110234.gbk", "addgene_sequence_type": "depositor-full" }, @@ -163,7 +157,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110241/a6c1b84f-64cb-4675-9318-7aa00279074f/addgene-plasmid-65188-sequence-110241.gbk", "addgene_sequence_type": "depositor-full" }, @@ -174,7 +167,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110243/32100717-608c-4d8d-8cc1-800ede3d637b/addgene-plasmid-65190-sequence-110243.gbk", "addgene_sequence_type": "depositor-full" }, @@ -184,13 +176,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "3437890..3443117", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAC3A11.14C", - "gene_id": null, - "start": 3437890, - "end": 3443117, - "strand": 1 + "gene_id": null }, { "id": 10, @@ -317,7 +307,7 @@ ], "description": "Cloning of CDS of S. pombe gene pkl1 with an N-term Venus tag using MoClo kit from John Dueber, see:\n\nhttps://www.addgene.org/kits/moclo-ytk/#kit-contents\n\nThe plasmids used are:\n\npYTK002 - ConLS\npYTK009 - pTDH3\npYTK038 - Venus 65145\npayload - CDS of pkl1 from S. pombe\npYTK051 - tENO1 65158\npYTK067 - ConR1 65174\npYTK074 - URA3 65181\npYTK081 - CEN6/ARS4 65188\npYTK083 - AmpR-ColE1 65190\n\n\n\n\n", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/homologous_recombination.json b/src/data/examples/homologous_recombination.json index a31388b..d405efc 100644 --- a/src/data/examples/homologous_recombination.json +++ b/src/data/examples/homologous_recombination.json @@ -41,7 +41,6 @@ "database_id": null, "input": [], "repository_id": "19342", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v2.0.0/sequences/8997/a6b027f8-013a-4b68-bf7e-359f34a653d0/addgene-plasmid-19342-sequence-8997.gbk", "addgene_sequence_type": "depositor-full" }, @@ -82,13 +81,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 4, @@ -139,7 +136,7 @@ ], "description": "Deletion of the ORF of ase1 by homologous recombination in S.pombe", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/plannotate.json b/src/data/examples/plannotate.json index 10d9e10..ef7d070 100644 --- a/src/data/examples/plannotate.json +++ b/src/data/examples/plannotate.json @@ -320,7 +320,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/restriction_ligation_assembly.json b/src/data/examples/restriction_ligation_assembly.json index 0a6ed12..836adc2 100644 --- a/src/data/examples/restriction_ligation_assembly.json +++ b/src/data/examples/restriction_ligation_assembly.json @@ -40,13 +40,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 2, @@ -86,7 +84,6 @@ "database_id": null, "input": [], "repository_id": "39296", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v2.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", "addgene_sequence_type": "addgene-full" }, @@ -136,7 +133,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/restriction_then_ligation.json b/src/data/examples/restriction_then_ligation.json index d2b2b80..29314c1 100644 --- a/src/data/examples/restriction_then_ligation.json +++ b/src/data/examples/restriction_then_ligation.json @@ -56,13 +56,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 2, @@ -102,7 +100,6 @@ "database_id": null, "input": [], "repository_id": "39296", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v2.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", "addgene_sequence_type": "addgene-full" }, @@ -192,7 +189,7 @@ ], "description": "Cloning of CDS of S. pombe gene pkl1 with an N-term Venus tag using MoClo kit from John Dueber, see:\n\nhttps://www.addgene.org/kits/moclo-ytk/#kit-contents\n\nThe plasmids used are:\n\npYTK002 - ConLS\npYTK009 - pTDH3\npYTK038 - Venus 65145\npayload - CDS of pkl1 from S. pombe\npYTK051 - tENO1 65158\npYTK067 - ConR1 65174\npYTK074 - URA3 65181\npYTK081 - CEN6/ARS4 65188\npYTK083 - AmpR-ColE1 65190\n\n\n\n\n", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/templateless_PCR.json b/src/data/examples/templateless_PCR.json index 5bbffa6..2e2ca06 100644 --- a/src/data/examples/templateless_PCR.json +++ b/src/data/examples/templateless_PCR.json @@ -66,7 +66,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/allele-engineering-templates/submission.json b/src/data/templates/allele-engineering-templates/submission.json deleted file mode 100644 index d96004f..0000000 --- a/src/data/templates/allele-engineering-templates/submission.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "kit": { - "title": "Allele engineering", - "description": "Templates to engineer alleles." - }, - "assemblies": [ - { - "title": "PCR-based targeting", - "description": "Amplify a plasmid fragment adding homology arms to replace a region in the genome.", - "template_file": "pcr_based_targeting.json" - } - ] -} diff --git a/src/data/templates/allele-engineering-templates/templates/pcr_based_targeting.json b/src/data/templates/allele-engineering-templates/templates/pcr_based_targeting.json deleted file mode 100644 index aac0a9b..0000000 --- a/src/data/templates/allele-engineering-templates/templates/pcr_based_targeting.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "sequences": [ - { - "id": 2, - "type": "TemplateSequence", - "circular": true - }, - { - "id": 4, - "type": "TemplateSequence", - "circular": false - }, - { - "type": "TemplateSequence", - "primer_design": true, - "circular": false, - "id": 6 - } - ], - "sources": [ - { - "id": 1, - "input": [], - "output": 2, - "type": "" - }, - { - "id": 3, - "input": [], - "output": 4, - "type": "GenomeCoordinatesSource" - }, - { - "id": 5, - "type": "PCRSource", - "input": [ - 2 - ], - "output": 6 - }, - { - "id": 7, - "type": "HomologousRecombinationSource", - "input": [ - 4, - 6 - ], - "output": null - } - ], - "description": "", - "primers": [] -} diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_001.json b/src/data/templates/browse-article-28244182/templates/assembly_template_001.json index e014d3d..bd9af07 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_001.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_001.json @@ -79,7 +79,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -100,7 +99,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -121,7 +119,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -142,7 +139,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -163,7 +159,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -184,7 +179,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -205,7 +199,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -226,7 +219,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -247,7 +239,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -268,7 +259,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -289,7 +279,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -310,7 +299,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -331,7 +319,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -368,7 +355,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -389,7 +375,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -410,7 +395,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -431,7 +415,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -452,7 +435,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -473,7 +455,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -494,7 +475,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -515,7 +495,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -536,7 +515,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -557,7 +535,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -578,7 +555,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -599,7 +575,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -620,7 +595,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -641,7 +615,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -678,7 +651,6 @@ "database_id": null, "input": [], "repository_id": "65139", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -699,7 +671,6 @@ "database_id": null, "input": [], "repository_id": "65140", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -720,7 +691,6 @@ "database_id": null, "input": [], "repository_id": "65141", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -741,7 +711,6 @@ "database_id": null, "input": [], "repository_id": "65143", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -778,7 +747,6 @@ "database_id": null, "input": [], "repository_id": "216452", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -799,7 +767,6 @@ "database_id": null, "input": [], "repository_id": "216453", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -820,7 +787,6 @@ "database_id": null, "input": [], "repository_id": "216454", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -841,7 +807,6 @@ "database_id": null, "input": [], "repository_id": "216455", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -862,7 +827,6 @@ "database_id": null, "input": [], "repository_id": "216456", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -883,7 +847,6 @@ "database_id": null, "input": [], "repository_id": "216457", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -904,7 +867,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -925,7 +887,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -946,7 +907,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -967,7 +927,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -988,7 +947,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1009,7 +967,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1046,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1067,7 +1023,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1088,7 +1043,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1109,7 +1063,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1130,7 +1083,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1151,7 +1103,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1172,7 +1123,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1193,7 +1143,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1214,7 +1163,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1235,7 +1183,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1256,7 +1203,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1277,7 +1223,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1298,7 +1243,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1335,7 +1279,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1356,7 +1299,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1377,7 +1319,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1398,7 +1339,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1450,7 +1390,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1471,7 +1410,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1492,7 +1430,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1554,7 +1491,7 @@ "primers": [], "description": "CDS self-replicating plasmid\n\nA plasmid with a yeast ORI containing a CDS", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_002.json b/src/data/templates/browse-article-28244182/templates/assembly_template_002.json index a500741..a7c26b4 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_002.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_002.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -232,7 +225,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -253,7 +245,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -274,7 +265,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -295,7 +285,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -316,7 +305,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -337,7 +325,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -684,7 +657,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -705,7 +677,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -726,7 +697,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -784,7 +753,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -805,7 +773,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -826,7 +793,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -863,7 +829,6 @@ "database_id": null, "input": [], "repository_id": "216452", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -884,7 +849,6 @@ "database_id": null, "input": [], "repository_id": "216453", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -905,7 +869,6 @@ "database_id": null, "input": [], "repository_id": "216454", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -926,7 +889,6 @@ "database_id": null, "input": [], "repository_id": "216455", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -947,7 +909,6 @@ "database_id": null, "input": [], "repository_id": "216456", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -968,7 +929,6 @@ "database_id": null, "input": [], "repository_id": "216457", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -989,7 +949,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1010,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1031,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1073,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1094,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1131,7 +1085,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1152,7 +1105,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1173,7 +1125,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1194,7 +1145,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1215,7 +1165,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1236,7 +1185,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1257,7 +1205,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1278,7 +1225,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1299,7 +1245,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1320,7 +1265,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1341,7 +1285,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1362,7 +1305,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1383,7 +1325,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1420,7 +1361,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1441,7 +1381,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1462,7 +1401,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1483,7 +1421,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1535,7 +1472,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1556,7 +1492,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1577,7 +1512,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1643,7 +1577,7 @@ "primers": [], "description": "2xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with two CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_003.json b/src/data/templates/browse-article-28244182/templates/assembly_template_003.json index 3474479..731d955 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_003.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_003.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -238,7 +231,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -259,7 +251,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -280,7 +271,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -301,7 +291,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -322,7 +311,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -343,7 +331,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -690,7 +663,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -711,7 +683,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -732,7 +703,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -790,7 +759,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -811,7 +779,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -832,7 +799,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -869,7 +835,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -890,7 +855,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -911,7 +875,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -932,7 +895,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -969,7 +931,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -990,7 +951,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1011,7 +971,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1032,7 +991,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1053,7 +1011,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1074,7 +1031,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1111,7 +1067,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1132,7 +1087,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1153,7 +1107,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1174,7 +1127,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1195,7 +1147,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1216,7 +1167,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1237,7 +1187,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1258,7 +1207,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1279,7 +1227,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1300,7 +1247,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1321,7 +1267,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1342,7 +1287,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1363,7 +1307,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1400,7 +1343,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1421,7 +1363,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1442,7 +1383,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1463,7 +1403,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1515,7 +1454,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1536,7 +1474,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1557,7 +1494,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1627,7 +1563,7 @@ "primers": [], "description": "3xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with three CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_004.json b/src/data/templates/browse-article-28244182/templates/assembly_template_004.json index 08d9f61..9112dc9 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_004.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_004.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -232,7 +225,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -253,7 +245,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -274,7 +265,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -295,7 +285,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -316,7 +305,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -337,7 +325,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -684,7 +657,6 @@ "database_id": null, "input": [], "repository_id": "65139", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -705,7 +677,6 @@ "database_id": null, "input": [], "repository_id": "65140", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -726,7 +697,6 @@ "database_id": null, "input": [], "repository_id": "65141", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "65143", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -784,7 +753,6 @@ "database_id": null, "input": [], "repository_id": "216452", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -805,7 +773,6 @@ "database_id": null, "input": [], "repository_id": "216453", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -826,7 +793,6 @@ "database_id": null, "input": [], "repository_id": "216454", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -847,7 +813,6 @@ "database_id": null, "input": [], "repository_id": "216455", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -868,7 +833,6 @@ "database_id": null, "input": [], "repository_id": "216456", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -889,7 +853,6 @@ "database_id": null, "input": [], "repository_id": "216457", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -910,7 +873,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -931,7 +893,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -952,7 +913,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -973,7 +933,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -994,7 +953,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1015,7 +973,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1073,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1094,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1115,7 +1069,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1136,7 +1089,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1157,7 +1109,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1178,7 +1129,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1199,7 +1149,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1220,7 +1169,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1241,7 +1189,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1262,7 +1209,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1283,7 +1229,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1304,7 +1249,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1341,7 +1285,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1362,7 +1305,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1383,7 +1325,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1404,7 +1345,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1441,7 +1381,6 @@ "database_id": null, "input": [], "repository_id": "216459", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1462,7 +1401,6 @@ "database_id": null, "input": [], "repository_id": "216465", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1499,7 +1437,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1520,7 +1457,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1541,7 +1477,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1578,7 +1513,6 @@ "database_id": null, "input": [], "repository_id": "216463", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1599,7 +1533,6 @@ "database_id": null, "input": [], "repository_id": "216461", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1665,7 +1598,7 @@ "primers": [], "description": "CDS integration plasmid\n\nA plasmid containing a CDS that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_005.json b/src/data/templates/browse-article-28244182/templates/assembly_template_005.json index 2f72409..27973f7 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_005.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_005.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -238,7 +231,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -259,7 +251,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -280,7 +271,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -301,7 +291,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -322,7 +311,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -343,7 +331,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -690,7 +663,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -711,7 +683,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -732,7 +703,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -790,7 +759,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -811,7 +779,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -832,7 +799,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -869,7 +835,6 @@ "database_id": null, "input": [], "repository_id": "216452", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -890,7 +855,6 @@ "database_id": null, "input": [], "repository_id": "216453", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -911,7 +875,6 @@ "database_id": null, "input": [], "repository_id": "216454", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -932,7 +895,6 @@ "database_id": null, "input": [], "repository_id": "216455", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -953,7 +915,6 @@ "database_id": null, "input": [], "repository_id": "216456", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -974,7 +935,6 @@ "database_id": null, "input": [], "repository_id": "216457", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -995,7 +955,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1016,7 +975,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1037,7 +995,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1058,7 +1015,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1079,7 +1035,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1100,7 +1055,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1137,7 +1091,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1158,7 +1111,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1179,7 +1131,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1200,7 +1151,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1221,7 +1171,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1242,7 +1191,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1263,7 +1211,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1284,7 +1231,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1305,7 +1251,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1326,7 +1271,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1347,7 +1291,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1368,7 +1311,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1389,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1426,7 +1367,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1447,7 +1387,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1468,7 +1407,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1489,7 +1427,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1526,7 +1463,6 @@ "database_id": null, "input": [], "repository_id": "216459", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1547,7 +1483,6 @@ "database_id": null, "input": [], "repository_id": "216465", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1584,7 +1519,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1605,7 +1539,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1626,7 +1559,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1663,7 +1595,6 @@ "database_id": null, "input": [], "repository_id": "216463", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1684,7 +1615,6 @@ "database_id": null, "input": [], "repository_id": "216461", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1754,7 +1684,7 @@ "primers": [], "description": "2xCDS integration plasmid\n\nA plasmid containing a 2xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_006.json b/src/data/templates/browse-article-28244182/templates/assembly_template_006.json index afb28f6..4b65d81 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_006.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_006.json @@ -97,7 +97,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -118,7 +117,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -139,7 +137,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -160,7 +157,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -181,7 +177,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -202,7 +197,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -223,7 +217,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -244,7 +237,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -265,7 +257,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -286,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -307,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -328,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -349,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -386,7 +373,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -407,7 +393,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -428,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -449,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -470,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -491,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -512,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -533,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -554,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -575,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -596,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -617,7 +593,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -638,7 +613,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -659,7 +633,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -696,7 +669,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -717,7 +689,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -738,7 +709,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -759,7 +729,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -796,7 +765,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -817,7 +785,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -838,7 +805,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -875,7 +841,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -896,7 +861,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -917,7 +881,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -938,7 +901,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -975,7 +937,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -996,7 +957,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1017,7 +977,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1038,7 +997,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1059,7 +1017,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1080,7 +1037,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1117,7 +1073,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1138,7 +1093,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1159,7 +1113,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1180,7 +1133,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1201,7 +1153,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1222,7 +1173,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1243,7 +1193,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1264,7 +1213,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1285,7 +1233,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1306,7 +1253,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1327,7 +1273,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1348,7 +1293,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1369,7 +1313,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1406,7 +1349,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1427,7 +1369,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1448,7 +1389,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1469,7 +1409,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1506,7 +1445,6 @@ "database_id": null, "input": [], "repository_id": "216459", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1527,7 +1465,6 @@ "database_id": null, "input": [], "repository_id": "216465", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1564,7 +1501,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1585,7 +1521,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1606,7 +1541,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1643,7 +1577,6 @@ "database_id": null, "input": [], "repository_id": "216463", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1664,7 +1597,6 @@ "database_id": null, "input": [], "repository_id": "216461", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1738,7 +1670,7 @@ "primers": [], "description": "3xCDS integration plasmid\n\nA plasmid containing a 3xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_001.json b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_001.json index 459c67c..7cfd05e 100644 --- a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_001.json +++ b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_001.json @@ -61,7 +61,6 @@ "database_id": null, "input": [], "repository_id": "65980", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -82,7 +81,6 @@ "database_id": null, "input": [], "repository_id": "65984", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -103,7 +101,6 @@ "database_id": null, "input": [], "repository_id": "65988", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -124,7 +121,6 @@ "database_id": null, "input": [], "repository_id": "65992", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -145,7 +141,6 @@ "database_id": null, "input": [], "repository_id": "65996", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -166,7 +161,6 @@ "database_id": null, "input": [], "repository_id": "66000", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -187,7 +181,6 @@ "database_id": null, "input": [], "repository_id": "66004", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -208,7 +201,6 @@ "database_id": null, "input": [], "repository_id": "66008", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -229,7 +221,6 @@ "database_id": null, "input": [], "repository_id": "66012", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -250,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "66016", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -287,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -308,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -329,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -350,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -371,7 +357,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -392,7 +377,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -429,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -450,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -471,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -492,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -513,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -534,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -555,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -576,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -597,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -634,7 +609,6 @@ "database_id": null, "input": [], "repository_id": "66035", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -671,7 +645,6 @@ "database_id": null, "input": [], "repository_id": "66040", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -721,7 +694,7 @@ "primers": [], "description": "Transcriptional Unit AE\n\nPlasmid with a transcriptional unit starting and ending with fusion sites A (GGAG) and E (GCTT)", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_002.json b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_002.json index ff087d8..0159193 100644 --- a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_002.json +++ b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_002.json @@ -61,7 +61,6 @@ "database_id": null, "input": [], "repository_id": "65981", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -82,7 +81,6 @@ "database_id": null, "input": [], "repository_id": "65985", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -103,7 +101,6 @@ "database_id": null, "input": [], "repository_id": "65989", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -124,7 +121,6 @@ "database_id": null, "input": [], "repository_id": "65993", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -145,7 +141,6 @@ "database_id": null, "input": [], "repository_id": "65997", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -166,7 +161,6 @@ "database_id": null, "input": [], "repository_id": "66001", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -187,7 +181,6 @@ "database_id": null, "input": [], "repository_id": "66005", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -208,7 +201,6 @@ "database_id": null, "input": [], "repository_id": "66009", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -229,7 +221,6 @@ "database_id": null, "input": [], "repository_id": "66013", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -250,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "66017", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -287,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -308,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -329,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -350,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -371,7 +357,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -392,7 +377,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -429,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -450,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -471,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -492,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -513,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -534,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -555,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -576,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -597,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -634,7 +609,6 @@ "database_id": null, "input": [], "repository_id": "66036", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -671,7 +645,6 @@ "database_id": null, "input": [], "repository_id": "66051", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -721,7 +694,7 @@ "primers": [], "description": "Transcriptional Unit EF\n\nPlasmid with a transcriptional unit starting and ending with fusion sites E (GCTT) and F (CGCT)", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_003.json b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_003.json index 232188d..d2f4699 100644 --- a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_003.json +++ b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_003.json @@ -61,7 +61,6 @@ "database_id": null, "input": [], "repository_id": "65982", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -82,7 +81,6 @@ "database_id": null, "input": [], "repository_id": "65986", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -103,7 +101,6 @@ "database_id": null, "input": [], "repository_id": "65990", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -124,7 +121,6 @@ "database_id": null, "input": [], "repository_id": "65994", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -145,7 +141,6 @@ "database_id": null, "input": [], "repository_id": "65998", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -166,7 +161,6 @@ "database_id": null, "input": [], "repository_id": "66002", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -187,7 +181,6 @@ "database_id": null, "input": [], "repository_id": "66006", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -208,7 +201,6 @@ "database_id": null, "input": [], "repository_id": "66010", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -229,7 +221,6 @@ "database_id": null, "input": [], "repository_id": "66014", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -250,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "66018", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -287,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -308,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -329,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -350,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -371,7 +357,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -392,7 +377,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -429,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -450,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -471,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -492,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -513,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -534,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -555,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -576,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -597,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -634,7 +609,6 @@ "database_id": null, "input": [], "repository_id": "66037", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -671,7 +645,6 @@ "database_id": null, "input": [], "repository_id": "66070", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -721,7 +694,7 @@ "primers": [], "description": "Transcriptional Unit FG\n\nPlasmid with a transcriptional unit starting and ending with fusion sites F (CGCT) and G (TGCC)", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_004.json b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_004.json index da1e233..5a66597 100644 --- a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_004.json +++ b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_004.json @@ -61,7 +61,6 @@ "database_id": null, "input": [], "repository_id": "65983", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -82,7 +81,6 @@ "database_id": null, "input": [], "repository_id": "65987", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -103,7 +101,6 @@ "database_id": null, "input": [], "repository_id": "65991", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -124,7 +121,6 @@ "database_id": null, "input": [], "repository_id": "65995", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -145,7 +141,6 @@ "database_id": null, "input": [], "repository_id": "65999", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -166,7 +161,6 @@ "database_id": null, "input": [], "repository_id": "66003", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -187,7 +181,6 @@ "database_id": null, "input": [], "repository_id": "66007", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -208,7 +201,6 @@ "database_id": null, "input": [], "repository_id": "66011", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -229,7 +221,6 @@ "database_id": null, "input": [], "repository_id": "66015", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -250,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "66019", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -287,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -308,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -329,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -350,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -371,7 +357,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -392,7 +377,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -429,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -450,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -471,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -492,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -513,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -534,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -555,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -576,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -597,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -634,7 +609,6 @@ "database_id": null, "input": [], "repository_id": "66038", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -671,7 +645,6 @@ "database_id": null, "input": [], "repository_id": "66071", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -721,7 +694,7 @@ "primers": [], "description": "Transcriptional Unit GH\n\nPlasmid with a transcriptional unit starting and ending with fusion sites G (TGCC) and H (ACTA)", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-gasser-goldenpics/submission.json b/src/data/templates/kits-gasser-goldenpics/submission.json new file mode 100644 index 0000000..57749df --- /dev/null +++ b/src/data/templates/kits-gasser-goldenpics/submission.json @@ -0,0 +1,652 @@ +{ + "submitters": [ + { + "full_name": "Manuel Lera-Ramirez", + "orcid": "0000-0002-8666-9746", + "github_username": "manulera" + } + ], + "kit": { + "pmid": "PMID:29221460", + "addgene_url": "https://www.addgene.org/kits/gasser-goldenpics", + "title": "GoldenPiCS", + "description": "Flexible modular system for advanced strain engineering in P. pastoris / K. phaffii" + }, + "sequences": [ + { + "name": "BB1_12", + "category": "recipient BB1", + "description": "promoter cloning", + "type": "AddgenePlasmid", + "addgene_id": "98495", + "resistance": "Kanamycin", + "well": "A / 1" + }, + { + "name": "BB1_23", + "category": "recipient BB1", + "description": "cds cloning", + "type": "AddgenePlasmid", + "addgene_id": "98496", + "resistance": "Kanamycin", + "well": "A / 2" + }, + { + "name": "BB1_34", + "category": "recipient BB1", + "description": "terminator cloning", + "type": "AddgenePlasmid", + "addgene_id": "98497", + "resistance": "Kanamycin", + "well": "A / 3" + }, + { + "name": "BB1_12_pGAP", + "category": "promoter", + "description": "PGAP", + "type": "AddgenePlasmid", + "addgene_id": "98498", + "resistance": "Kanamycin", + "well": "A / 4" + }, + { + "name": "BB1_12_pGPM1", + "category": "promoter", + "description": "PGPM1", + "type": "AddgenePlasmid", + "addgene_id": "98499", + "resistance": "Kanamycin", + "well": "A / 5" + }, + { + "name": "BB1_12_pRPP1B", + "category": "promoter", + "description": "PRPP1B", + "type": "AddgenePlasmid", + "addgene_id": "98500", + "resistance": "Kanamycin", + "well": "A / 6" + }, + { + "name": "BB1_12_pPDC1", + "category": "promoter", + "description": "PPDC1", + "type": "AddgenePlasmid", + "addgene_id": "98501", + "resistance": "Kanamycin", + "well": "A / 7" + }, + { + "name": "BB1_12_pPOR1", + "category": "promoter", + "description": "PPOR1", + "type": "AddgenePlasmid", + "addgene_id": "98502", + "resistance": "Kanamycin", + "well": "A / 8" + }, + { + "name": "BB1_12_pMDH3", + "category": "promoter", + "description": "PMDH3", + "type": "AddgenePlasmid", + "addgene_id": "98503", + "resistance": "Kanamycin", + "well": "A / 9" + }, + { + "name": "BB1_12_pADH2", + "category": "promoter", + "description": "PADH2", + "type": "AddgenePlasmid", + "addgene_id": "98504", + "resistance": "Kanamycin", + "well": "A / 10" + }, + { + "name": "BB1_12_pFBA1-1", + "category": "promoter", + "description": "PFBA1-1", + "type": "AddgenePlasmid", + "addgene_id": "98505", + "resistance": "Kanamycin", + "well": "A / 11" + }, + { + "name": "BB1_12_pSHB17", + "category": "promoter", + "description": "PSHB17", + "type": "AddgenePlasmid", + "addgene_id": "98506", + "resistance": "Kanamycin", + "well": "A / 12" + }, + { + "name": "BB1_12_pTEF2", + "category": "promoter", + "description": "PTEF2", + "type": "AddgenePlasmid", + "addgene_id": "98507", + "resistance": "Kanamycin", + "well": "B / 1" + }, + { + "name": "BB1_12_pRPL2A", + "category": "promoter", + "description": "PRPL2A", + "type": "AddgenePlasmid", + "addgene_id": "98508", + "resistance": "Kanamycin", + "well": "B / 2" + }, + { + "name": "BB1_12_pLAT1", + "category": "promoter", + "description": "PLAT1", + "type": "AddgenePlasmid", + "addgene_id": "98509", + "resistance": "Kanamycin", + "well": "B / 3" + }, + { + "name": "BB1_12_pPFK300", + "category": "promoter", + "description": "PPpPfk", + "type": "AddgenePlasmid", + "addgene_id": "98510", + "resistance": "Kanamycin", + "well": "B / 4" + }, + { + "name": "BB1_12_pGUT1", + "category": "promoter", + "description": "PGUT1", + "type": "AddgenePlasmid", + "addgene_id": "98511", + "resistance": "Kanamycin", + "well": "B / 5" + }, + { + "name": "BB1_12_pTHI11", + "category": "promoter", + "description": "PTHI11", + "type": "AddgenePlasmid", + "addgene_id": "98512", + "resistance": "Kanamycin", + "well": "B / 6" + }, + { + "name": "BB1_12_pDAS2", + "category": "promoter", + "description": "PDAS2", + "type": "AddgenePlasmid", + "addgene_id": "98513", + "resistance": "Kanamycin", + "well": "B / 7" + }, + { + "name": "BB1_12_pAOX1", + "category": "promoter", + "description": "PAOX1", + "type": "AddgenePlasmid", + "addgene_id": "98514", + "resistance": "Kanamycin", + "well": "B / 8" + }, + { + "name": "BB1_12_pDAS1", + "category": "promoter", + "description": "PDAS1", + "type": "AddgenePlasmid", + "addgene_id": "98515", + "resistance": "Kanamycin", + "well": "B / 9" + }, + { + "name": "BB1_12_pFDH1", + "category": "promoter", + "description": "PFDH1", + "type": "AddgenePlasmid", + "addgene_id": "98516", + "resistance": "Kanamycin", + "well": "B / 10" + }, + { + "name": "BB1_23_eGFP", + "category": "coding sequence", + "description": "eGFP", + "type": "AddgenePlasmid", + "addgene_id": "98518", + "resistance": "Kanamycin", + "well": "B / 12" + }, + { + "name": "BB1_34_ScCYC1tt", + "category": "terminator", + "description": "ScCYC1tt", + "type": "AddgenePlasmid", + "addgene_id": "98519", + "resistance": "Kanamycin", + "well": "C / 1" + }, + { + "name": "BB1_34_TDH3tt", + "category": "terminator", + "description": "TDH3tt", + "type": "AddgenePlasmid", + "addgene_id": "98520", + "resistance": "Kanamycin", + "well": "C / 2" + }, + { + "name": "BB1_34_RPS2tt", + "category": "terminator", + "description": "RPS2tt", + "type": "AddgenePlasmid", + "addgene_id": "98521", + "resistance": "Kanamycin", + "well": "C / 3" + }, + { + "name": "BB1_34_RPP1Btt", + "category": "terminator", + "description": "RPP1Btt", + "type": "AddgenePlasmid", + "addgene_id": "98522", + "resistance": "Kanamycin", + "well": "C / 4" + }, + { + "name": "BB1_34_RPS17Btt", + "category": "terminator", + "description": "RPS17Btt", + "type": "AddgenePlasmid", + "addgene_id": "98523", + "resistance": "Kanamycin", + "well": "C / 5" + }, + { + "name": "BB1_34_chr4_0883tt", + "category": "terminator", + "description": "chr4_0883tt", + "type": "AddgenePlasmid", + "addgene_id": "98524", + "resistance": "Kanamycin", + "well": "C / 6" + }, + { + "name": "BB1_34_IDP1tt", + "category": "terminator", + "description": "IDP1tt", + "type": "AddgenePlasmid", + "addgene_id": "98525", + "resistance": "Kanamycin", + "well": "C / 7" + }, + { + "name": "BB1_34_RPS25Att", + "category": "terminator", + "description": "RPS25Att", + "type": "AddgenePlasmid", + "addgene_id": "98526", + "resistance": "Kanamycin", + "well": "C / 8" + }, + { + "name": "BB1_34_RPS3tt", + "category": "terminator", + "description": "RPS3tt", + "type": "AddgenePlasmid", + "addgene_id": "98527", + "resistance": "Kanamycin", + "well": "C / 9" + }, + { + "name": "BB1_34_RPL2Att", + "category": "terminator", + "description": "RPL2Att", + "type": "AddgenePlasmid", + "addgene_id": "98528", + "resistance": "Kanamycin", + "well": "C / 10" + }, + { + "name": "BB3aK_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98529", + "resistance": "Kanamycin", + "well": "C / 11" + }, + { + "name": "BB3aK_AC", + "category": "recipient BB3", + "description": "2 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98530", + "resistance": "Kanamycin", + "well": "C / 12" + }, + { + "name": "BB3aK_AD", + "category": "recipient BB3", + "description": "3 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98531", + "resistance": "Kanamycin", + "well": "D / 1" + }, + { + "name": "BB3aK_AE", + "category": "recipient BB3", + "description": "4 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98532", + "resistance": "Kanamycin", + "well": "D / 2" + }, + { + "name": "BB3aK_AF", + "category": "recipient BB3", + "description": "5 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98533", + "resistance": "Kanamycin", + "well": "D / 3" + }, + { + "name": "BB2_AB", + "category": "recipient BB2", + "description": "Transcription unit 1 (AB)", + "type": "AddgenePlasmid", + "addgene_id": "98534", + "resistance": "Ampicillin", + "well": "D / 4" + }, + { + "name": "BB2_BC", + "category": "recipient BB2", + "description": "Transcription unit 2 (BC)", + "type": "AddgenePlasmid", + "addgene_id": "98535", + "resistance": "Ampicillin", + "well": "D / 5" + }, + { + "name": "BB2_CD", + "category": "recipient BB2", + "description": "Transcription unit 3 (CD)", + "type": "AddgenePlasmid", + "addgene_id": "98536", + "resistance": "Ampicillin", + "well": "D / 6" + }, + { + "name": "BB2_DE", + "category": "recipient BB2", + "description": "Transcription unit 4 (DE)", + "type": "AddgenePlasmid", + "addgene_id": "98537", + "resistance": "Ampicillin", + "well": "D / 7" + }, + { + "name": "BB2_EF", + "category": "recipient BB2", + "description": "Transcription unit 5 (EF)", + "type": "AddgenePlasmid", + "addgene_id": "98538", + "resistance": "Ampicillin", + "well": "D / 8" + }, + { + "name": "BB2_FG", + "category": "recipient BB2", + "description": "Transcription unit 6 (FG)", + "type": "AddgenePlasmid", + "addgene_id": "98539", + "resistance": "Ampicillin", + "well": "D / 9" + }, + { + "name": "BB2_GH", + "category": "recipient BB2", + "description": "Transcription unit 7 (GH)", + "type": "AddgenePlasmid", + "addgene_id": "98540", + "resistance": "Ampicillin", + "well": "D / 10" + }, + { + "name": "BB2_HI", + "category": "recipient BB2", + "description": "Transcription unit 8 (HI)", + "type": "AddgenePlasmid", + "addgene_id": "98541", + "resistance": "Ampicillin", + "well": "D / 11" + }, + { + "name": "BB3aZ_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus AOX1tt, Zeocin) ", + "type": "AddgenePlasmid", + "addgene_id": "98542", + "resistance": "Bleocin (Zeocin)", + "well": "D / 12" + }, + { + "name": "BB3eH_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98543", + "resistance": "Hygromycin", + "well": "E / 1" + }, + { + "name": "BB3eH_AC", + "category": "recipient BB3", + "description": "2 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98544", + "resistance": "Hygromycin", + "well": "E / 2" + }, + { + "name": "BB3eH_AD", + "category": "recipient BB3", + "description": "3 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98545", + "resistance": "Hygromycin", + "well": "E / 3" + }, + { + "name": "BB3eH_AE", + "category": "recipient BB3", + "description": "4 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98546", + "resistance": "Hygromycin", + "well": "E / 4" + }, + { + "name": "BB3eH_AF", + "category": "recipient BB3", + "description": "5 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98547", + "resistance": "Hygromycin", + "well": "E / 5" + }, + { + "name": "BB3aN_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus AOX1tt, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98548", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 6" + }, + { + "name": "BB3eN_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus ENO1, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98549", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 7" + }, + { + "name": "BB3rN_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98550", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 8" + }, + { + "name": "BB3rN_AC", + "category": "recipient BB3", + "description": "2 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98551", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 9" + }, + { + "name": "BB3rN_AD", + "category": "recipient BB3", + "description": "3 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98552", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 10" + }, + { + "name": "BB3rN_AE", + "category": "recipient BB3", + "description": "4 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98553", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 11" + }, + { + "name": "BB3rN_AF", + "category": "recipient BB3", + "description": "5 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98554", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 12" + }, + { + "name": "BB3rN_AG", + "category": "recipient BB3", + "description": "6 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98555", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 1" + }, + { + "name": "BB3rN_AH", + "category": "recipient BB3", + "description": "7 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98556", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 2" + }, + { + "name": "BB3rN_AI", + "category": "recipient BB3", + "description": "8 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98557", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 3" + } + ], + "categories": [ + { + "id": "recipient BB1", + "title": "Recipient BB1", + "description": "To domesticate parts ", + "image": null + }, + { + "id": "promoter", + "title": "Promoter", + "description": "BB1 plasmid with promoter", + "image": "promoter.png" + }, + { + "id": "coding sequence", + "title": "Coding Sequence", + "description": "BB1 plasmid with coding sequence", + "image": "cds.png" + }, + { + "id": "terminator", + "title": "Terminator", + "description": "BB1 plasmid with terminator", + "image": "terminator.png" + }, + { + "id": "recipient BB3 - single", + "title": "Recipient BB3 - single TU", + "description": "To clone a single TU directly from 3 BB1", + "image": "backbone.png" + }, + { + "id": "recipient BB3", + "title": "Recipient BB3", + "description": "To clone multiple TUs from BB2 plasmids", + "image": null + }, + { + "id": "recipient BB2", + "title": "Recipient BB2", + "description": "To combine several BB1 plasmids into a TU", + "image": "backbone.png" + } + ], + "assemblies": [ + { + "title": "Single TU BB3 plasmid", + "description": "Overexpression of a single TU, direct cloning from BB1 into a special BB3", + "fragment_order": [ + "promoter", + "coding sequence", + "terminator", + "recipient BB3 - single" + ], + "template_file": "assembly_template_001.json" + }, + { + "title": "TU cloning into BB2", + "description": "Cloning of a TU into a BB2 plasmid, for eventual multi-TU assembly into a BB3 plasmid", + "fragment_order": [ + "promoter", + "coding sequence", + "terminator", + "recipient BB2" + ], + "template_file": "assembly_template_002.json" + }, + { + "title": "Multiple BB2 into BB3", + "description": "Cloning of several TUs from BB2 plasmids into a BB3", + "fragment_order": [ + "recipient BB3" + ], + "template_file": "assembly_template_003.json" + } + ], + "oligos": [] +} diff --git a/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_001.json b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_001.json new file mode 100644 index 0000000..79c189d --- /dev/null +++ b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_001.json @@ -0,0 +1,895 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 2, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 3, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 4, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 5, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 6, + "type": "TemplateSequence", + "circular": false, + "primer_design": null + }, + { + "id": 7, + "type": "TemplateSequence", + "circular": false, + "primer_design": null + } + ], + "sources": [ + { + "id": 1, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "promoter", + "title": "Promoter", + "description": "BB1 plasmid with promoter", + "image": [ + "promoter.png", + "60%" + ], + "options": [ + { + "name": "BB1_12_pGAP - PGAP", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98498", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGAP", + "description": "PGAP", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 4" + } + }, + { + "name": "BB1_12_pGPM1 - PGPM1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98499", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGPM1", + "description": "PGPM1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 5" + } + }, + { + "name": "BB1_12_pRPP1B - PRPP1B", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98500", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pRPP1B", + "description": "PRPP1B", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 6" + } + }, + { + "name": "BB1_12_pPDC1 - PPDC1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98501", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPDC1", + "description": "PPDC1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 7" + } + }, + { + "name": "BB1_12_pPOR1 - PPOR1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98502", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPOR1", + "description": "PPOR1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 8" + } + }, + { + "name": "BB1_12_pMDH3 - PMDH3", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98503", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pMDH3", + "description": "PMDH3", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 9" + } + }, + { + "name": "BB1_12_pADH2 - PADH2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98504", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pADH2", + "description": "PADH2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 10" + } + }, + { + "name": "BB1_12_pFBA1-1 - PFBA1-1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98505", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pFBA1-1", + "description": "PFBA1-1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 11" + } + }, + { + "name": "BB1_12_pSHB17 - PSHB17", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98506", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pSHB17", + "description": "PSHB17", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 12" + } + }, + { + "name": "BB1_12_pTEF2 - PTEF2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98507", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pTEF2", + "description": "PTEF2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 1" + } + }, + { + "name": "BB1_12_pRPL2A - PRPL2A", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98508", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pRPL2A", + "description": "PRPL2A", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 2" + } + }, + { + "name": "BB1_12_pLAT1 - PLAT1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98509", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pLAT1", + "description": "PLAT1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 3" + } + }, + { + "name": "BB1_12_pPFK300 - PPpPfk", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98510", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPFK300", + "description": "PPpPfk", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 4" + } + }, + { + "name": "BB1_12_pGUT1 - PGUT1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98511", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGUT1", + "description": "PGUT1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 5" + } + }, + { + "name": "BB1_12_pTHI11 - PTHI11", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98512", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pTHI11", + "description": "PTHI11", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 6" + } + }, + { + "name": "BB1_12_pDAS2 - PDAS2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98513", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pDAS2", + "description": "PDAS2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 7" + } + }, + { + "name": "BB1_12_pAOX1 - PAOX1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98514", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pAOX1", + "description": "PAOX1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 8" + } + }, + { + "name": "BB1_12_pDAS1 - PDAS1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98515", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pDAS1", + "description": "PDAS1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 9" + } + }, + { + "name": "BB1_12_pFDH1 - PFDH1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98516", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pFDH1", + "description": "PFDH1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 10" + } + } + ] + }, + { + "id": 2, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "coding sequence", + "title": "Coding Sequence", + "description": "BB1 plasmid with coding sequence", + "image": [ + "cds.png", + "60%" + ], + "options": [ + { + "name": "BB1_23_eGFP - eGFP", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98518", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_23_eGFP", + "description": "eGFP", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 12" + } + } + ] + }, + { + "id": 3, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "terminator", + "title": "Terminator", + "description": "BB1 plasmid with terminator", + "image": [ + "terminator.png", + "60%" + ], + "options": [ + { + "name": "BB1_34_ScCYC1tt - ScCYC1tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98519", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_ScCYC1tt", + "description": "ScCYC1tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 1" + } + }, + { + "name": "BB1_34_TDH3tt - TDH3tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98520", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_TDH3tt", + "description": "TDH3tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 2" + } + }, + { + "name": "BB1_34_RPS2tt - RPS2tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98521", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS2tt", + "description": "RPS2tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 3" + } + }, + { + "name": "BB1_34_RPP1Btt - RPP1Btt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98522", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPP1Btt", + "description": "RPP1Btt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 4" + } + }, + { + "name": "BB1_34_RPS17Btt - RPS17Btt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98523", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS17Btt", + "description": "RPS17Btt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 5" + } + }, + { + "name": "BB1_34_chr4_0883tt - chr4_0883tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98524", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_chr4_0883tt", + "description": "chr4_0883tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 6" + } + }, + { + "name": "BB1_34_IDP1tt - IDP1tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98525", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_IDP1tt", + "description": "IDP1tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 7" + } + }, + { + "name": "BB1_34_RPS25Att - RPS25Att", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98526", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS25Att", + "description": "RPS25Att", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 8" + } + }, + { + "name": "BB1_34_RPS3tt - RPS3tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98527", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS3tt", + "description": "RPS3tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 9" + } + }, + { + "name": "BB1_34_RPL2Att - RPL2Att", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98528", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPL2Att", + "description": "RPL2Att", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 10" + } + } + ] + }, + { + "id": 4, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "recipient BB3 - single", + "title": "Recipient BB3 - single TU", + "description": "To clone a single TU directly from 3 BB1", + "image": [ + "backbone.png", + "60%" + ], + "options": [ + { + "name": "BB3aK_14* - 1 TU (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98529", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_14*", + "description": "1 TU (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 11" + } + }, + { + "name": "BB3aZ_14* - 1 TU (locus AOX1tt, Zeocin) ", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98542", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aZ_14*", + "description": "1 TU (locus AOX1tt, Zeocin) ", + "type": "AddgenePlasmid", + "resistance": "Bleocin (Zeocin)", + "well": "D / 12" + } + }, + { + "name": "BB3eH_14* - 1 TU (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98543", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_14*", + "description": "1 TU (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 1" + } + }, + { + "name": "BB3aN_14* - 1 TU (locus AOX1tt, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98548", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aN_14*", + "description": "1 TU (locus AOX1tt, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 6" + } + }, + { + "name": "BB3eN_14* - 1 TU (locus ENO1, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98549", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eN_14*", + "description": "1 TU (locus ENO1, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 7" + } + }, + { + "name": "BB3rN_14* - 1 TU (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98550", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_14*", + "description": "1 TU (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 8" + } + } + ] + }, + { + "id": 5, + "type": "RestrictionAndLigationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 1 + }, + { + "type": "SourceInput", + "sequence": 2 + }, + { + "type": "SourceInput", + "sequence": 3 + }, + { + "type": "SourceInput", + "sequence": 4 + } + ], + "circular": null, + "restriction_enzymes": [ + "BsaI" + ] + }, + { + "id": 6, + "type": "GenomeCoordinatesSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "LT962479.2", + "coordinates": "1237975..241966", + "assembly_accession": "GCA_900235035.2", + "locus_tag": "BQ9382_C4-0695", + "gene_id": null + }, + { + "id": 7, + "type": "HomologousRecombinationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 6 + }, + { + "type": "SourceInput", + "sequence": 5 + } + ], + "circular": null + } + ], + "primers": [], + "description": "Single TU BB3 plasmid\n\nOverexpression of a single TU, direct cloning from BB1 into a special BB3", + "files": null, + "schema_version": "0.4.9", + "backend_version": null, + "frontend_version": null +} diff --git a/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_002.json b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_002.json new file mode 100644 index 0000000..6bddc56 --- /dev/null +++ b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_002.json @@ -0,0 +1,894 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 2, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 3, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 4, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 5, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + } + ], + "sources": [ + { + "id": 1, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "promoter", + "title": "Promoter", + "description": "BB1 plasmid with promoter", + "image": [ + "promoter.png", + "60%" + ], + "options": [ + { + "name": "BB1_12_pGAP - PGAP", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98498", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGAP", + "description": "PGAP", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 4" + } + }, + { + "name": "BB1_12_pGPM1 - PGPM1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98499", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGPM1", + "description": "PGPM1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 5" + } + }, + { + "name": "BB1_12_pRPP1B - PRPP1B", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98500", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pRPP1B", + "description": "PRPP1B", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 6" + } + }, + { + "name": "BB1_12_pPDC1 - PPDC1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98501", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPDC1", + "description": "PPDC1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 7" + } + }, + { + "name": "BB1_12_pPOR1 - PPOR1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98502", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPOR1", + "description": "PPOR1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 8" + } + }, + { + "name": "BB1_12_pMDH3 - PMDH3", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98503", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pMDH3", + "description": "PMDH3", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 9" + } + }, + { + "name": "BB1_12_pADH2 - PADH2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98504", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pADH2", + "description": "PADH2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 10" + } + }, + { + "name": "BB1_12_pFBA1-1 - PFBA1-1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98505", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pFBA1-1", + "description": "PFBA1-1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 11" + } + }, + { + "name": "BB1_12_pSHB17 - PSHB17", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98506", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pSHB17", + "description": "PSHB17", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 12" + } + }, + { + "name": "BB1_12_pTEF2 - PTEF2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98507", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pTEF2", + "description": "PTEF2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 1" + } + }, + { + "name": "BB1_12_pRPL2A - PRPL2A", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98508", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pRPL2A", + "description": "PRPL2A", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 2" + } + }, + { + "name": "BB1_12_pLAT1 - PLAT1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98509", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pLAT1", + "description": "PLAT1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 3" + } + }, + { + "name": "BB1_12_pPFK300 - PPpPfk", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98510", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPFK300", + "description": "PPpPfk", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 4" + } + }, + { + "name": "BB1_12_pGUT1 - PGUT1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98511", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGUT1", + "description": "PGUT1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 5" + } + }, + { + "name": "BB1_12_pTHI11 - PTHI11", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98512", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pTHI11", + "description": "PTHI11", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 6" + } + }, + { + "name": "BB1_12_pDAS2 - PDAS2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98513", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pDAS2", + "description": "PDAS2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 7" + } + }, + { + "name": "BB1_12_pAOX1 - PAOX1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98514", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pAOX1", + "description": "PAOX1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 8" + } + }, + { + "name": "BB1_12_pDAS1 - PDAS1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98515", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pDAS1", + "description": "PDAS1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 9" + } + }, + { + "name": "BB1_12_pFDH1 - PFDH1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98516", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pFDH1", + "description": "PFDH1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 10" + } + } + ] + }, + { + "id": 2, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "coding sequence", + "title": "Coding Sequence", + "description": "BB1 plasmid with coding sequence", + "image": [ + "cds.png", + "60%" + ], + "options": [ + { + "name": "BB1_23_eGFP - eGFP", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98518", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_23_eGFP", + "description": "eGFP", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 12" + } + } + ] + }, + { + "id": 3, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "terminator", + "title": "Terminator", + "description": "BB1 plasmid with terminator", + "image": [ + "terminator.png", + "60%" + ], + "options": [ + { + "name": "BB1_34_ScCYC1tt - ScCYC1tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98519", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_ScCYC1tt", + "description": "ScCYC1tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 1" + } + }, + { + "name": "BB1_34_TDH3tt - TDH3tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98520", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_TDH3tt", + "description": "TDH3tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 2" + } + }, + { + "name": "BB1_34_RPS2tt - RPS2tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98521", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS2tt", + "description": "RPS2tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 3" + } + }, + { + "name": "BB1_34_RPP1Btt - RPP1Btt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98522", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPP1Btt", + "description": "RPP1Btt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 4" + } + }, + { + "name": "BB1_34_RPS17Btt - RPS17Btt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98523", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS17Btt", + "description": "RPS17Btt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 5" + } + }, + { + "name": "BB1_34_chr4_0883tt - chr4_0883tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98524", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_chr4_0883tt", + "description": "chr4_0883tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 6" + } + }, + { + "name": "BB1_34_IDP1tt - IDP1tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98525", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_IDP1tt", + "description": "IDP1tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 7" + } + }, + { + "name": "BB1_34_RPS25Att - RPS25Att", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98526", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS25Att", + "description": "RPS25Att", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 8" + } + }, + { + "name": "BB1_34_RPS3tt - RPS3tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98527", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS3tt", + "description": "RPS3tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 9" + } + }, + { + "name": "BB1_34_RPL2Att - RPL2Att", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98528", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPL2Att", + "description": "RPL2Att", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 10" + } + } + ] + }, + { + "id": 4, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "recipient BB2", + "title": "Recipient BB2", + "description": "To combine several BB1 plasmids into a TU", + "image": [ + "backbone.png", + "60%" + ], + "options": [ + { + "name": "BB2_AB - Transcription unit 1 (AB)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98534", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_AB", + "description": "Transcription unit 1 (AB)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 4" + } + }, + { + "name": "BB2_BC - Transcription unit 2 (BC)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98535", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_BC", + "description": "Transcription unit 2 (BC)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 5" + } + }, + { + "name": "BB2_CD - Transcription unit 3 (CD)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98536", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_CD", + "description": "Transcription unit 3 (CD)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 6" + } + }, + { + "name": "BB2_DE - Transcription unit 4 (DE)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98537", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_DE", + "description": "Transcription unit 4 (DE)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 7" + } + }, + { + "name": "BB2_EF - Transcription unit 5 (EF)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98538", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_EF", + "description": "Transcription unit 5 (EF)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 8" + } + }, + { + "name": "BB2_FG - Transcription unit 6 (FG)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98539", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_FG", + "description": "Transcription unit 6 (FG)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 9" + } + }, + { + "name": "BB2_GH - Transcription unit 7 (GH)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98540", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_GH", + "description": "Transcription unit 7 (GH)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 10" + } + }, + { + "name": "BB2_HI - Transcription unit 8 (HI)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98541", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_HI", + "description": "Transcription unit 8 (HI)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 11" + } + } + ] + }, + { + "id": 5, + "type": "RestrictionAndLigationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 1 + }, + { + "type": "SourceInput", + "sequence": 2 + }, + { + "type": "SourceInput", + "sequence": 3 + }, + { + "type": "SourceInput", + "sequence": 4 + } + ], + "circular": null, + "restriction_enzymes": [ + "BsaI" + ] + } + ], + "primers": [], + "description": "TU cloning into BB2\n\nCloning of a TU into a BB2 plasmid, for eventual multi-TU assembly into a BB3 plasmid", + "files": null, + "schema_version": "0.4.9", + "backend_version": null, + "frontend_version": null +} diff --git a/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_003.json b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_003.json new file mode 100644 index 0000000..092e4a8 --- /dev/null +++ b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_003.json @@ -0,0 +1,394 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 2, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 3, + "type": "TemplateSequence", + "circular": false, + "primer_design": null + }, + { + "id": 4, + "type": "TemplateSequence", + "circular": false, + "primer_design": null + } + ], + "sources": [ + { + "id": 1, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "recipient BB3", + "title": "Recipient BB3", + "description": "To clone multiple TUs from BB2 plasmids", + "image": null, + "options": [ + { + "name": "BB3aK_AC - 2 TUs (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98530", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_AC", + "description": "2 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 12" + } + }, + { + "name": "BB3aK_AD - 3 TUs (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98531", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_AD", + "description": "3 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "D / 1" + } + }, + { + "name": "BB3aK_AE - 4 TUs (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98532", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_AE", + "description": "4 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "D / 2" + } + }, + { + "name": "BB3aK_AF - 5 TUs (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98533", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_AF", + "description": "5 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "D / 3" + } + }, + { + "name": "BB3eH_AC - 2 TUs (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98544", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_AC", + "description": "2 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 2" + } + }, + { + "name": "BB3eH_AD - 3 TUs (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98545", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_AD", + "description": "3 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 3" + } + }, + { + "name": "BB3eH_AE - 4 TUs (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98546", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_AE", + "description": "4 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 4" + } + }, + { + "name": "BB3eH_AF - 5 TUs (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98547", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_AF", + "description": "5 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 5" + } + }, + { + "name": "BB3rN_AC - 2 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98551", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AC", + "description": "2 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 9" + } + }, + { + "name": "BB3rN_AD - 3 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98552", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AD", + "description": "3 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 10" + } + }, + { + "name": "BB3rN_AE - 4 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98553", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AE", + "description": "4 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 11" + } + }, + { + "name": "BB3rN_AF - 5 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98554", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AF", + "description": "5 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 12" + } + }, + { + "name": "BB3rN_AG - 6 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98555", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AG", + "description": "6 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 1" + } + }, + { + "name": "BB3rN_AH - 7 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98556", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AH", + "description": "7 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 2" + } + }, + { + "name": "BB3rN_AI - 8 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98557", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AI", + "description": "8 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 3" + } + } + ] + }, + { + "id": 2, + "type": "RestrictionAndLigationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 1 + } + ], + "circular": null, + "restriction_enzymes": [ + "BsaI" + ] + }, + { + "id": 3, + "type": "GenomeCoordinatesSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "LT962479.2", + "coordinates": "1237975..241966", + "assembly_accession": "GCA_900235035.2", + "locus_tag": "BQ9382_C4-0695", + "gene_id": null + }, + { + "id": 4, + "type": "HomologousRecombinationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 3 + }, + { + "type": "SourceInput", + "sequence": 2 + } + ], + "circular": null + } + ], + "primers": [], + "description": "Multiple BB2 into BB3\n\nCloning of several TUs from BB2 plasmids into a BB3", + "files": null, + "schema_version": "0.4.9", + "backend_version": null, + "frontend_version": null +} diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_001.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_001.json index 4938200..23090d9 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_001.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_001.json @@ -79,7 +79,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -100,7 +99,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -121,7 +119,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -142,7 +139,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -163,7 +159,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -184,7 +179,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -205,7 +199,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -242,7 +235,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -263,7 +255,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -284,7 +275,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -305,7 +295,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -326,7 +315,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -347,7 +335,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -368,7 +355,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -389,7 +375,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -410,7 +395,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -431,7 +415,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -452,7 +435,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -473,7 +455,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -494,7 +475,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -515,7 +495,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -536,7 +515,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -557,7 +535,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -578,7 +555,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -599,7 +575,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -620,7 +595,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -641,7 +615,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -662,7 +635,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -683,7 +655,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -704,7 +675,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -741,7 +711,6 @@ "database_id": null, "input": [], "repository_id": "65139", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -762,7 +731,6 @@ "database_id": null, "input": [], "repository_id": "65140", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -783,7 +751,6 @@ "database_id": null, "input": [], "repository_id": "65141", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -804,7 +771,6 @@ "database_id": null, "input": [], "repository_id": "65142", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -825,7 +791,6 @@ "database_id": null, "input": [], "repository_id": "65143", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -862,7 +827,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -883,7 +847,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -904,7 +867,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -925,7 +887,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -946,7 +907,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -967,7 +927,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1004,7 +963,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1025,7 +983,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1046,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1067,7 +1023,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1088,7 +1043,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1109,7 +1063,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1130,7 +1083,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1167,7 +1119,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1188,7 +1139,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1209,7 +1159,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1230,7 +1179,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1251,7 +1199,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1272,7 +1219,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1293,7 +1239,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1330,7 +1275,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1351,7 +1295,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1388,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1409,7 +1351,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1430,7 +1371,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1492,7 +1432,7 @@ "primers": [], "description": "CDS self-replicating plasmid\n\nA plasmid with a yeast ORI containing a CDS", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_002.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_002.json index ad042b9..17f3757 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_002.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_002.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -248,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -269,7 +261,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -290,7 +281,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -311,7 +301,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -332,7 +321,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -353,7 +341,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -668,7 +641,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -689,7 +661,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -710,7 +681,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -768,7 +737,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -789,7 +757,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -810,7 +777,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -831,7 +797,6 @@ "database_id": null, "input": [], "repository_id": "65148", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -852,7 +817,6 @@ "database_id": null, "input": [], "repository_id": "65149", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -873,7 +837,6 @@ "database_id": null, "input": [], "repository_id": "65150", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -910,7 +873,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -931,7 +893,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -952,7 +913,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -989,7 +949,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1010,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1031,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1073,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1094,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1131,7 +1085,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1152,7 +1105,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1173,7 +1125,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1194,7 +1145,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1215,7 +1165,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1236,7 +1185,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1257,7 +1205,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1294,7 +1241,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1315,7 +1261,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1336,7 +1281,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1357,7 +1301,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1378,7 +1321,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1399,7 +1341,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1420,7 +1361,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1457,7 +1397,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1478,7 +1417,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1515,7 +1453,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1536,7 +1473,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1557,7 +1493,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1623,7 +1558,7 @@ "primers": [], "description": "2xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with two CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_003.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_003.json index e2c2cf1..8d8a9d3 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_003.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_003.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -254,7 +247,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -275,7 +267,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -296,7 +287,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -317,7 +307,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -338,7 +327,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -359,7 +347,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -674,7 +647,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -695,7 +667,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -716,7 +687,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -774,7 +743,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -795,7 +763,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -816,7 +783,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -837,7 +803,6 @@ "database_id": null, "input": [], "repository_id": "65148", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -858,7 +823,6 @@ "database_id": null, "input": [], "repository_id": "65149", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -879,7 +843,6 @@ "database_id": null, "input": [], "repository_id": "65150", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -916,7 +879,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -937,7 +899,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -958,7 +919,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -995,7 +955,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1016,7 +975,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1037,7 +995,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1058,7 +1015,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1095,7 +1051,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1116,7 +1071,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1137,7 +1091,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1158,7 +1111,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1179,7 +1131,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1200,7 +1151,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1237,7 +1187,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1258,7 +1207,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1279,7 +1227,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1300,7 +1247,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1321,7 +1267,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1342,7 +1287,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1363,7 +1307,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1400,7 +1343,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1421,7 +1363,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1442,7 +1383,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1463,7 +1403,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1484,7 +1423,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1505,7 +1443,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1526,7 +1463,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1563,7 +1499,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1584,7 +1519,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1621,7 +1555,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1642,7 +1575,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1663,7 +1595,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1733,7 +1664,7 @@ "primers": [], "description": "3xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with three CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_004.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_004.json index f3ac9da..2b42d91 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_004.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_004.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -248,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -269,7 +261,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -290,7 +281,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -311,7 +301,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -332,7 +321,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -353,7 +341,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -668,7 +641,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -689,7 +661,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -710,7 +681,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "65139", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -768,7 +737,6 @@ "database_id": null, "input": [], "repository_id": "65140", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -789,7 +757,6 @@ "database_id": null, "input": [], "repository_id": "65141", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -810,7 +777,6 @@ "database_id": null, "input": [], "repository_id": "65142", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -831,7 +797,6 @@ "database_id": null, "input": [], "repository_id": "65143", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -868,7 +833,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -889,7 +853,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -910,7 +873,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -931,7 +893,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -952,7 +913,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -973,7 +933,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1010,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1031,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1073,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1094,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1115,7 +1069,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1136,7 +1089,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1173,7 +1125,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1194,7 +1145,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1215,7 +1165,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1236,7 +1185,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1257,7 +1205,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1278,7 +1225,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1299,7 +1245,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1336,7 +1281,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1357,7 +1301,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1378,7 +1321,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1415,7 +1357,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1436,7 +1377,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1457,7 +1397,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1494,7 +1433,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1515,7 +1453,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1536,7 +1473,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1602,7 +1538,7 @@ "primers": [], "description": "CDS integration plasmid\n\nA plasmid containing a CDS that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_005.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_005.json index cdf5ed3..d2e241b 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_005.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_005.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -254,7 +247,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -275,7 +267,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -296,7 +287,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -317,7 +307,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -338,7 +327,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -359,7 +347,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -674,7 +647,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -695,7 +667,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -716,7 +687,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -774,7 +743,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -795,7 +763,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -816,7 +783,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -837,7 +803,6 @@ "database_id": null, "input": [], "repository_id": "65148", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -858,7 +823,6 @@ "database_id": null, "input": [], "repository_id": "65149", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -879,7 +843,6 @@ "database_id": null, "input": [], "repository_id": "65150", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -916,7 +879,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -937,7 +899,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -958,7 +919,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -995,7 +955,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1016,7 +975,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1037,7 +995,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1058,7 +1015,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1079,7 +1035,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1100,7 +1055,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1137,7 +1091,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1158,7 +1111,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1179,7 +1131,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1200,7 +1151,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1221,7 +1171,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1242,7 +1191,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1263,7 +1211,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1300,7 +1247,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1321,7 +1267,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1342,7 +1287,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1363,7 +1307,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1384,7 +1327,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1405,7 +1347,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1426,7 +1367,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1463,7 +1403,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1484,7 +1423,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1505,7 +1443,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1542,7 +1479,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1563,7 +1499,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1584,7 +1519,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1621,7 +1555,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1642,7 +1575,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1663,7 +1595,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1733,7 +1664,7 @@ "primers": [], "description": "2xCDS integration plasmid\n\nA plasmid containing a 2xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_006.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_006.json index 00fe302..a917b2f 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_006.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_006.json @@ -97,7 +97,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -118,7 +117,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -139,7 +137,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -160,7 +157,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -181,7 +177,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -202,7 +197,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -223,7 +217,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -260,7 +253,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -281,7 +273,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -302,7 +293,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -323,7 +313,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -344,7 +333,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -365,7 +353,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -386,7 +373,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -407,7 +393,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -428,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -449,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -470,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -491,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -512,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -533,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -554,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -575,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -596,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -617,7 +593,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -638,7 +613,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -659,7 +633,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -680,7 +653,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -701,7 +673,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -722,7 +693,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -759,7 +729,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -780,7 +749,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -801,7 +769,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -822,7 +789,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -843,7 +809,6 @@ "database_id": null, "input": [], "repository_id": "65148", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -864,7 +829,6 @@ "database_id": null, "input": [], "repository_id": "65149", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -885,7 +849,6 @@ "database_id": null, "input": [], "repository_id": "65150", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -922,7 +885,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -943,7 +905,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -964,7 +925,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1001,7 +961,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1022,7 +981,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1043,7 +1001,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1064,7 +1021,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1101,7 +1057,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1122,7 +1077,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1143,7 +1097,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1164,7 +1117,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1185,7 +1137,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1206,7 +1157,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1243,7 +1193,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1264,7 +1213,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1285,7 +1233,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1306,7 +1253,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1327,7 +1273,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1348,7 +1293,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1369,7 +1313,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1406,7 +1349,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1427,7 +1369,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1448,7 +1389,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1469,7 +1409,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1490,7 +1429,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1511,7 +1449,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1532,7 +1469,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1569,7 +1505,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1590,7 +1525,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1611,7 +1545,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1648,7 +1581,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1669,7 +1601,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1690,7 +1621,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1727,7 +1657,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1748,7 +1677,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1769,7 +1697,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1843,7 +1770,7 @@ "primers": [], "description": "3xCDS integration plasmid\n\nA plasmid containing a 3xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_001.json b/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_001.json index 144b9b0..5897d5a 100644 --- a/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_001.json +++ b/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_001.json @@ -299,7 +299,6 @@ "database_id": null, "input": [], "repository_id": "120934", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -320,7 +319,6 @@ "database_id": null, "input": [], "repository_id": "120935", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -341,7 +339,6 @@ "database_id": null, "input": [], "repository_id": "120936", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -362,7 +359,6 @@ "database_id": null, "input": [], "repository_id": "120937", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -383,7 +379,6 @@ "database_id": null, "input": [], "repository_id": "120938", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -404,7 +399,6 @@ "database_id": null, "input": [], "repository_id": "120939", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -425,7 +419,6 @@ "database_id": null, "input": [], "repository_id": "120940", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -446,7 +439,6 @@ "database_id": null, "input": [], "repository_id": "120941", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -467,7 +459,6 @@ "database_id": null, "input": [], "repository_id": "120942", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -488,7 +479,6 @@ "database_id": null, "input": [], "repository_id": "120943", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -509,7 +499,6 @@ "database_id": null, "input": [], "repository_id": "120944", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -530,7 +519,6 @@ "database_id": null, "input": [], "repository_id": "120945", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -551,7 +539,6 @@ "database_id": null, "input": [], "repository_id": "120946", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -572,7 +559,6 @@ "database_id": null, "input": [], "repository_id": "120947", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -593,7 +579,6 @@ "database_id": null, "input": [], "repository_id": "120948", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -614,7 +599,6 @@ "database_id": null, "input": [], "repository_id": "120949", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -635,7 +619,6 @@ "database_id": null, "input": [], "repository_id": "120950", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -656,7 +639,6 @@ "database_id": null, "input": [], "repository_id": "120951", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -677,7 +659,6 @@ "database_id": null, "input": [], "repository_id": "120952", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -698,7 +679,6 @@ "database_id": null, "input": [], "repository_id": "120953", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -719,7 +699,6 @@ "database_id": null, "input": [], "repository_id": "120954", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -740,7 +719,6 @@ "database_id": null, "input": [], "repository_id": "65980", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -761,7 +739,6 @@ "database_id": null, "input": [], "repository_id": "65984", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -782,7 +759,6 @@ "database_id": null, "input": [], "repository_id": "65988", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -803,7 +779,6 @@ "database_id": null, "input": [], "repository_id": "65992", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -824,7 +799,6 @@ "database_id": null, "input": [], "repository_id": "65996", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -845,7 +819,6 @@ "database_id": null, "input": [], "repository_id": "66000", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -866,7 +839,6 @@ "database_id": null, "input": [], "repository_id": "66004", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -887,7 +859,6 @@ "database_id": null, "input": [], "repository_id": "66008", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -908,7 +879,6 @@ "database_id": null, "input": [], "repository_id": "66012", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -929,7 +899,6 @@ "database_id": null, "input": [], "repository_id": "66016", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -966,7 +935,6 @@ "database_id": null, "input": [], "repository_id": "121015", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -987,7 +955,6 @@ "database_id": null, "input": [], "repository_id": "121016", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1008,7 +975,6 @@ "database_id": null, "input": [], "repository_id": "121017", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1029,7 +995,6 @@ "database_id": null, "input": [], "repository_id": "121018", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1050,7 +1015,6 @@ "database_id": null, "input": [], "repository_id": "121019", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1071,7 +1035,6 @@ "database_id": null, "input": [], "repository_id": "121020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1092,7 +1055,6 @@ "database_id": null, "input": [], "repository_id": "121021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1113,7 +1075,6 @@ "database_id": null, "input": [], "repository_id": "121022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1134,7 +1095,6 @@ "database_id": null, "input": [], "repository_id": "121023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1155,7 +1115,6 @@ "database_id": null, "input": [], "repository_id": "121024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1176,7 +1135,6 @@ "database_id": null, "input": [], "repository_id": "121025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1197,7 +1155,6 @@ "database_id": null, "input": [], "repository_id": "121026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1218,7 +1175,6 @@ "database_id": null, "input": [], "repository_id": "121027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1239,7 +1195,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1260,7 +1215,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1281,7 +1235,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1302,7 +1255,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1323,7 +1275,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1344,7 +1295,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1381,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "120955", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1402,7 +1351,6 @@ "database_id": null, "input": [], "repository_id": "120956", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1423,7 +1371,6 @@ "database_id": null, "input": [], "repository_id": "120957", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1444,7 +1391,6 @@ "database_id": null, "input": [], "repository_id": "120958", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1465,7 +1411,6 @@ "database_id": null, "input": [], "repository_id": "120959", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1486,7 +1431,6 @@ "database_id": null, "input": [], "repository_id": "120960", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1507,7 +1451,6 @@ "database_id": null, "input": [], "repository_id": "120961", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1528,7 +1471,6 @@ "database_id": null, "input": [], "repository_id": "120962", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1549,7 +1491,6 @@ "database_id": null, "input": [], "repository_id": "120963", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1570,7 +1511,6 @@ "database_id": null, "input": [], "repository_id": "120964", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1591,7 +1531,6 @@ "database_id": null, "input": [], "repository_id": "120965", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1612,7 +1551,6 @@ "database_id": null, "input": [], "repository_id": "120966", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1633,7 +1571,6 @@ "database_id": null, "input": [], "repository_id": "120967", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1654,7 +1591,6 @@ "database_id": null, "input": [], "repository_id": "120968", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1675,7 +1611,6 @@ "database_id": null, "input": [], "repository_id": "120969", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1696,7 +1631,6 @@ "database_id": null, "input": [], "repository_id": "120970", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1717,7 +1651,6 @@ "database_id": null, "input": [], "repository_id": "120971", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1738,7 +1671,6 @@ "database_id": null, "input": [], "repository_id": "120972", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1759,7 +1691,6 @@ "database_id": null, "input": [], "repository_id": "120973", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1780,7 +1711,6 @@ "database_id": null, "input": [], "repository_id": "120974", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1801,7 +1731,6 @@ "database_id": null, "input": [], "repository_id": "120975", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1822,7 +1751,6 @@ "database_id": null, "input": [], "repository_id": "120976", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1843,7 +1771,6 @@ "database_id": null, "input": [], "repository_id": "120977", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1864,7 +1791,6 @@ "database_id": null, "input": [], "repository_id": "120978", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1885,7 +1811,6 @@ "database_id": null, "input": [], "repository_id": "120979", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1906,7 +1831,6 @@ "database_id": null, "input": [], "repository_id": "120980", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1927,7 +1851,6 @@ "database_id": null, "input": [], "repository_id": "120981", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1948,7 +1871,6 @@ "database_id": null, "input": [], "repository_id": "120982", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1969,7 +1891,6 @@ "database_id": null, "input": [], "repository_id": "120983", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1990,7 +1911,6 @@ "database_id": null, "input": [], "repository_id": "120984", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2011,7 +1931,6 @@ "database_id": null, "input": [], "repository_id": "120985", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2032,7 +1951,6 @@ "database_id": null, "input": [], "repository_id": "120986", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2053,7 +1971,6 @@ "database_id": null, "input": [], "repository_id": "120987", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2074,7 +1991,6 @@ "database_id": null, "input": [], "repository_id": "120988", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2095,7 +2011,6 @@ "database_id": null, "input": [], "repository_id": "120989", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2116,7 +2031,6 @@ "database_id": null, "input": [], "repository_id": "120990", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2137,7 +2051,6 @@ "database_id": null, "input": [], "repository_id": "120991", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2158,7 +2071,6 @@ "database_id": null, "input": [], "repository_id": "120992", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2179,7 +2091,6 @@ "database_id": null, "input": [], "repository_id": "120993", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2200,7 +2111,6 @@ "database_id": null, "input": [], "repository_id": "120994", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2221,7 +2131,6 @@ "database_id": null, "input": [], "repository_id": "120995", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2242,7 +2151,6 @@ "database_id": null, "input": [], "repository_id": "120996", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2263,7 +2171,6 @@ "database_id": null, "input": [], "repository_id": "120997", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2284,7 +2191,6 @@ "database_id": null, "input": [], "repository_id": "120998", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2305,7 +2211,6 @@ "database_id": null, "input": [], "repository_id": "120999", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2326,7 +2231,6 @@ "database_id": null, "input": [], "repository_id": "121000", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2347,7 +2251,6 @@ "database_id": null, "input": [], "repository_id": "121001", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2368,7 +2271,6 @@ "database_id": null, "input": [], "repository_id": "121002", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2389,7 +2291,6 @@ "database_id": null, "input": [], "repository_id": "121003", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2410,7 +2311,6 @@ "database_id": null, "input": [], "repository_id": "121004", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2431,7 +2331,6 @@ "database_id": null, "input": [], "repository_id": "121005", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2452,7 +2351,6 @@ "database_id": null, "input": [], "repository_id": "121006", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2473,7 +2371,6 @@ "database_id": null, "input": [], "repository_id": "121007", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2494,7 +2391,6 @@ "database_id": null, "input": [], "repository_id": "121008", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2515,7 +2411,6 @@ "database_id": null, "input": [], "repository_id": "121009", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2536,7 +2431,6 @@ "database_id": null, "input": [], "repository_id": "121010", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2557,7 +2451,6 @@ "database_id": null, "input": [], "repository_id": "121011", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2578,7 +2471,6 @@ "database_id": null, "input": [], "repository_id": "121012", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2599,7 +2491,6 @@ "database_id": null, "input": [], "repository_id": "121013", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2620,7 +2511,6 @@ "database_id": null, "input": [], "repository_id": "121014", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2641,7 +2531,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2662,7 +2551,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2683,7 +2571,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2704,7 +2591,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2725,7 +2611,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2746,7 +2631,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2767,7 +2651,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2788,7 +2671,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2809,7 +2691,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2846,7 +2727,6 @@ "database_id": null, "input": [], "repository_id": "121028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2867,7 +2747,6 @@ "database_id": null, "input": [], "repository_id": "121029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2888,7 +2767,6 @@ "database_id": null, "input": [], "repository_id": "121030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2909,7 +2787,6 @@ "database_id": null, "input": [], "repository_id": "121031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2930,7 +2807,6 @@ "database_id": null, "input": [], "repository_id": "121032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2951,7 +2827,6 @@ "database_id": null, "input": [], "repository_id": "121033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2972,7 +2847,6 @@ "database_id": null, "input": [], "repository_id": "121034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2993,7 +2867,6 @@ "database_id": null, "input": [], "repository_id": "121035", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -3014,7 +2887,6 @@ "database_id": null, "input": [], "repository_id": "121036", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -3035,7 +2907,6 @@ "database_id": null, "input": [], "repository_id": "121037", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -3056,7 +2927,6 @@ "database_id": null, "input": [], "repository_id": "66035", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -3679,7 +3549,7 @@ ], "description": "Transcriptional Unit\n\n5'UTR (with RBS) + promoter + CDS + terminator flanked by Golden Gate adapters", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_002.json b/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_002.json index 0a3c14a..9c09c76 100644 --- a/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_002.json +++ b/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_002.json @@ -284,7 +284,6 @@ "database_id": null, "input": [], "repository_id": "121038", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -305,7 +304,6 @@ "database_id": null, "input": [], "repository_id": "121039", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -326,7 +324,6 @@ "database_id": null, "input": [], "repository_id": "121040", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -347,7 +344,6 @@ "database_id": null, "input": [], "repository_id": "121041", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -384,7 +380,6 @@ "database_id": null, "input": [], "repository_id": "121028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -405,7 +400,6 @@ "database_id": null, "input": [], "repository_id": "121029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -426,7 +420,6 @@ "database_id": null, "input": [], "repository_id": "121030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -447,7 +440,6 @@ "database_id": null, "input": [], "repository_id": "121031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -468,7 +460,6 @@ "database_id": null, "input": [], "repository_id": "121032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -489,7 +480,6 @@ "database_id": null, "input": [], "repository_id": "121033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -510,7 +500,6 @@ "database_id": null, "input": [], "repository_id": "121034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -531,7 +520,6 @@ "database_id": null, "input": [], "repository_id": "121035", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -552,7 +540,6 @@ "database_id": null, "input": [], "repository_id": "121036", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -573,7 +560,6 @@ "database_id": null, "input": [], "repository_id": "121037", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1188,7 +1174,7 @@ ], "description": "Pre-composed 5'UTR + promoter + CDS\n\nTranscriptional Unit that uses a level 0 plasmid containing joined 5'UTR + promoter + CDS", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_001.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_001.json index ceeba55..b7e96bb 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_001.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_001.json @@ -79,7 +79,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -100,7 +99,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -121,7 +119,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -142,7 +139,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -163,7 +159,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -184,7 +179,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -205,7 +199,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -242,7 +235,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -263,7 +255,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -284,7 +275,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -305,7 +295,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -326,7 +315,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -347,7 +335,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -368,7 +355,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -389,7 +375,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -410,7 +395,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -431,7 +415,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -452,7 +435,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -473,7 +455,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -494,7 +475,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -515,7 +495,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -536,7 +515,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -557,7 +535,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -578,7 +555,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -599,7 +575,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -620,7 +595,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -641,7 +615,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -662,7 +635,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -683,7 +655,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -704,7 +675,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -741,7 +711,6 @@ "database_id": null, "input": [], "repository_id": "212917", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -778,7 +747,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -799,7 +767,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -820,7 +787,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -841,7 +807,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -862,7 +827,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -883,7 +847,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -920,7 +883,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -941,7 +903,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -962,7 +923,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -983,7 +943,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1004,7 +963,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1025,7 +983,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1046,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1083,7 +1039,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1104,7 +1059,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1125,7 +1079,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1146,7 +1099,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1167,7 +1119,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1188,7 +1139,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1209,7 +1159,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1246,7 +1195,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1267,7 +1215,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1304,7 +1251,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1325,7 +1271,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1346,7 +1291,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1408,7 +1352,7 @@ "primers": [], "description": "CDS self-replicating plasmid\n\nA plasmid with a yeast ORI containing a CDS", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_002.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_002.json index e37b8a4..9849092 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_002.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_002.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -248,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -269,7 +261,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -290,7 +281,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -311,7 +301,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -332,7 +321,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -353,7 +341,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -668,7 +641,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -689,7 +661,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -710,7 +681,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "212898", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -768,7 +737,6 @@ "database_id": null, "input": [], "repository_id": "212899", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -789,7 +757,6 @@ "database_id": null, "input": [], "repository_id": "212900", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -810,7 +777,6 @@ "database_id": null, "input": [], "repository_id": "212901", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -831,7 +797,6 @@ "database_id": null, "input": [], "repository_id": "212902", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -852,7 +817,6 @@ "database_id": null, "input": [], "repository_id": "212903", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -873,7 +837,6 @@ "database_id": null, "input": [], "repository_id": "212904", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -894,7 +857,6 @@ "database_id": null, "input": [], "repository_id": "212905", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -915,7 +877,6 @@ "database_id": null, "input": [], "repository_id": "212906", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -936,7 +897,6 @@ "database_id": null, "input": [], "repository_id": "212907", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -957,7 +917,6 @@ "database_id": null, "input": [], "repository_id": "212908", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -978,7 +937,6 @@ "database_id": null, "input": [], "repository_id": "212909", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -999,7 +957,6 @@ "database_id": null, "input": [], "repository_id": "212910", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1020,7 +977,6 @@ "database_id": null, "input": [], "repository_id": "212911", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1041,7 +997,6 @@ "database_id": null, "input": [], "repository_id": "212912", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1062,7 +1017,6 @@ "database_id": null, "input": [], "repository_id": "212913", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1083,7 +1037,6 @@ "database_id": null, "input": [], "repository_id": "212914", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1120,7 +1073,6 @@ "database_id": null, "input": [], "repository_id": "212915", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1141,7 +1093,6 @@ "database_id": null, "input": [], "repository_id": "212916", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1178,7 +1129,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1199,7 +1149,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1220,7 +1169,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1241,7 +1189,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1262,7 +1209,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1283,7 +1229,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1320,7 +1265,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1341,7 +1285,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1362,7 +1305,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1383,7 +1325,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1404,7 +1345,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1425,7 +1365,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1446,7 +1385,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1483,7 +1421,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1504,7 +1441,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1525,7 +1461,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1546,7 +1481,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1567,7 +1501,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1588,7 +1521,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1609,7 +1541,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1646,7 +1577,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1667,7 +1597,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1704,7 +1633,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1725,7 +1653,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1746,7 +1673,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1812,7 +1738,7 @@ "primers": [], "description": "2xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with two CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_003.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_003.json index bda13cb..4ce109b 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_003.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_003.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -254,7 +247,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -275,7 +267,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -296,7 +287,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -317,7 +307,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -338,7 +327,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -359,7 +347,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -674,7 +647,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -695,7 +667,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -716,7 +687,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "212898", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -774,7 +743,6 @@ "database_id": null, "input": [], "repository_id": "212899", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -795,7 +763,6 @@ "database_id": null, "input": [], "repository_id": "212900", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -816,7 +783,6 @@ "database_id": null, "input": [], "repository_id": "212901", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -837,7 +803,6 @@ "database_id": null, "input": [], "repository_id": "212902", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -858,7 +823,6 @@ "database_id": null, "input": [], "repository_id": "212903", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -879,7 +843,6 @@ "database_id": null, "input": [], "repository_id": "212904", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -900,7 +863,6 @@ "database_id": null, "input": [], "repository_id": "212905", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -921,7 +883,6 @@ "database_id": null, "input": [], "repository_id": "212906", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -942,7 +903,6 @@ "database_id": null, "input": [], "repository_id": "212907", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -963,7 +923,6 @@ "database_id": null, "input": [], "repository_id": "212908", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -984,7 +943,6 @@ "database_id": null, "input": [], "repository_id": "212909", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1005,7 +963,6 @@ "database_id": null, "input": [], "repository_id": "212910", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1026,7 +983,6 @@ "database_id": null, "input": [], "repository_id": "212911", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1047,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "212912", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1068,7 +1023,6 @@ "database_id": null, "input": [], "repository_id": "212913", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1089,7 +1043,6 @@ "database_id": null, "input": [], "repository_id": "212914", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1126,7 +1079,6 @@ "database_id": null, "input": [], "repository_id": "212915", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1147,7 +1099,6 @@ "database_id": null, "input": [], "repository_id": "212916", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1184,7 +1135,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1205,7 +1155,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1226,7 +1175,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1247,7 +1195,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1268,7 +1215,6 @@ "database_id": null, "input": [], "repository_id": "212918", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1289,7 +1235,6 @@ "database_id": null, "input": [], "repository_id": "212919", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1310,7 +1255,6 @@ "database_id": null, "input": [], "repository_id": "212920", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1331,7 +1275,6 @@ "database_id": null, "input": [], "repository_id": "212921", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1352,7 +1295,6 @@ "database_id": null, "input": [], "repository_id": "212922", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1389,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1410,7 +1351,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1431,7 +1371,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1452,7 +1391,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1473,7 +1411,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1494,7 +1431,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1531,7 +1467,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1552,7 +1487,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1573,7 +1507,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1594,7 +1527,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1615,7 +1547,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1636,7 +1567,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1657,7 +1587,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1694,7 +1623,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1715,7 +1643,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1736,7 +1663,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1757,7 +1683,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1778,7 +1703,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1799,7 +1723,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1820,7 +1743,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1857,7 +1779,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1878,7 +1799,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1915,7 +1835,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1936,7 +1855,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1957,7 +1875,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2027,7 +1944,7 @@ "primers": [], "description": "3xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with three CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_004.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_004.json index 20d8c79..e4028ac 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_004.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_004.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -248,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -269,7 +261,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -290,7 +281,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -311,7 +301,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -332,7 +321,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -353,7 +341,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -668,7 +641,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -689,7 +661,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -710,7 +681,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "212917", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -784,7 +753,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -805,7 +773,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -826,7 +793,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -847,7 +813,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -868,7 +833,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -889,7 +853,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -926,7 +889,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -947,7 +909,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -968,7 +929,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -989,7 +949,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1010,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1031,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1089,7 +1045,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1110,7 +1065,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1131,7 +1085,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1152,7 +1105,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1173,7 +1125,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1194,7 +1145,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1215,7 +1165,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1252,7 +1201,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1273,7 +1221,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1294,7 +1241,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1331,7 +1277,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1352,7 +1297,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1373,7 +1317,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1410,7 +1353,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1431,7 +1373,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1452,7 +1393,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1518,7 +1458,7 @@ "primers": [], "description": "CDS integration plasmid\n\nA plasmid containing a CDS that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_005.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_005.json index 0d38914..010db80 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_005.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_005.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -254,7 +247,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -275,7 +267,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -296,7 +287,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -317,7 +307,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -338,7 +327,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -359,7 +347,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -674,7 +647,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -695,7 +667,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -716,7 +687,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "212898", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -774,7 +743,6 @@ "database_id": null, "input": [], "repository_id": "212899", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -795,7 +763,6 @@ "database_id": null, "input": [], "repository_id": "212900", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -816,7 +783,6 @@ "database_id": null, "input": [], "repository_id": "212901", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -837,7 +803,6 @@ "database_id": null, "input": [], "repository_id": "212902", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -858,7 +823,6 @@ "database_id": null, "input": [], "repository_id": "212903", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -879,7 +843,6 @@ "database_id": null, "input": [], "repository_id": "212904", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -900,7 +863,6 @@ "database_id": null, "input": [], "repository_id": "212905", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -921,7 +883,6 @@ "database_id": null, "input": [], "repository_id": "212906", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -942,7 +903,6 @@ "database_id": null, "input": [], "repository_id": "212907", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -963,7 +923,6 @@ "database_id": null, "input": [], "repository_id": "212908", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -984,7 +943,6 @@ "database_id": null, "input": [], "repository_id": "212909", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1005,7 +963,6 @@ "database_id": null, "input": [], "repository_id": "212910", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1026,7 +983,6 @@ "database_id": null, "input": [], "repository_id": "212911", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1047,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "212912", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1068,7 +1023,6 @@ "database_id": null, "input": [], "repository_id": "212913", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1089,7 +1043,6 @@ "database_id": null, "input": [], "repository_id": "212914", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1126,7 +1079,6 @@ "database_id": null, "input": [], "repository_id": "212915", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1147,7 +1099,6 @@ "database_id": null, "input": [], "repository_id": "212916", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1184,7 +1135,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1205,7 +1155,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1226,7 +1175,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1247,7 +1195,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1268,7 +1215,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1289,7 +1235,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1326,7 +1271,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1347,7 +1291,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1368,7 +1311,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1389,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1410,7 +1351,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1431,7 +1371,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1452,7 +1391,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1489,7 +1427,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1510,7 +1447,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1531,7 +1467,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1552,7 +1487,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1573,7 +1507,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1594,7 +1527,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1615,7 +1547,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1652,7 +1583,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1673,7 +1603,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1694,7 +1623,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1731,7 +1659,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1752,7 +1679,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1773,7 +1699,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1810,7 +1735,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1831,7 +1755,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1852,7 +1775,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1922,7 +1844,7 @@ "primers": [], "description": "2xCDS integration plasmid\n\nA plasmid containing a 2xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_006.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_006.json index 2285c0d..3432a57 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_006.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_006.json @@ -97,7 +97,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -118,7 +117,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -139,7 +137,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -160,7 +157,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -181,7 +177,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -202,7 +197,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -223,7 +217,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -260,7 +253,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -281,7 +273,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -302,7 +293,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -323,7 +313,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -344,7 +333,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -365,7 +353,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -386,7 +373,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -407,7 +393,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -428,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -449,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -470,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -491,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -512,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -533,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -554,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -575,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -596,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -617,7 +593,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -638,7 +613,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -659,7 +633,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -680,7 +653,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -701,7 +673,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -722,7 +693,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -759,7 +729,6 @@ "database_id": null, "input": [], "repository_id": "212898", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -780,7 +749,6 @@ "database_id": null, "input": [], "repository_id": "212899", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -801,7 +769,6 @@ "database_id": null, "input": [], "repository_id": "212900", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -822,7 +789,6 @@ "database_id": null, "input": [], "repository_id": "212901", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -843,7 +809,6 @@ "database_id": null, "input": [], "repository_id": "212902", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -864,7 +829,6 @@ "database_id": null, "input": [], "repository_id": "212903", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -885,7 +849,6 @@ "database_id": null, "input": [], "repository_id": "212904", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -906,7 +869,6 @@ "database_id": null, "input": [], "repository_id": "212905", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -927,7 +889,6 @@ "database_id": null, "input": [], "repository_id": "212906", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -948,7 +909,6 @@ "database_id": null, "input": [], "repository_id": "212907", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -969,7 +929,6 @@ "database_id": null, "input": [], "repository_id": "212908", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -990,7 +949,6 @@ "database_id": null, "input": [], "repository_id": "212909", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1011,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "212910", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1032,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "212911", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1053,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "212912", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1074,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "212913", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1095,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "212914", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1132,7 +1085,6 @@ "database_id": null, "input": [], "repository_id": "212915", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1153,7 +1105,6 @@ "database_id": null, "input": [], "repository_id": "212916", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1190,7 +1141,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1211,7 +1161,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1232,7 +1181,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1253,7 +1201,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1274,7 +1221,6 @@ "database_id": null, "input": [], "repository_id": "212918", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1295,7 +1241,6 @@ "database_id": null, "input": [], "repository_id": "212919", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1316,7 +1261,6 @@ "database_id": null, "input": [], "repository_id": "212920", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1337,7 +1281,6 @@ "database_id": null, "input": [], "repository_id": "212921", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1358,7 +1301,6 @@ "database_id": null, "input": [], "repository_id": "212922", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1395,7 +1337,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1416,7 +1357,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1437,7 +1377,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1458,7 +1397,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1479,7 +1417,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1500,7 +1437,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1537,7 +1473,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1558,7 +1493,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1579,7 +1513,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1600,7 +1533,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1621,7 +1553,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1642,7 +1573,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1663,7 +1593,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1700,7 +1629,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1721,7 +1649,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1742,7 +1669,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1763,7 +1689,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1784,7 +1709,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1805,7 +1729,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1826,7 +1749,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1863,7 +1785,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1884,7 +1805,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1905,7 +1825,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1942,7 +1861,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1963,7 +1881,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1984,7 +1901,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2021,7 +1937,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2042,7 +1957,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2063,7 +1977,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2137,7 +2050,7 @@ "primers": [], "description": "3xCDS integration plasmid\n\nA plasmid containing a 3xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/opencloning_linkml/datamodel/_models.py b/src/opencloning_linkml/datamodel/_models.py index a0ac6bf..fb202c6 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -83,6 +83,21 @@ def __contains__(self, key: str) -> bool: "pattern": "^(\\d+)\\.\\.(\\d+)$", "typeof": "string", }, + "simple_sequence_location": { + "description": "A simple sequence " + "location defined using " + "genbank syntax (e.g. " + "1..100 or " + "complement(1..100)), " + "note that 1..100 in " + "genbank is equivalent " + "to 0:100 in python", + "exact_mappings": ["GENO:0000965"], + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "name": "simple_sequence_location", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "typeof": "string", + }, "version_number": { "description": "A version number", "exact_mappings": ["IAO:0000129"], @@ -95,45 +110,6 @@ def __contains__(self, key: str) -> bool: ) -class RepositoryName(str, Enum): - addgene = "addgene" - """ - Addgene - """ - genbank = "genbank" - """ - GenBank - """ - benchling = "benchling" - """ - Benchling - """ - snapgene = "snapgene" - """ - SnapGene plasmid library - """ - euroscarf = "euroscarf" - """ - Euroscarf (plasmids only) - """ - igem = "igem" - """ - iGEM collection - """ - wekwikgene = "wekwikgene" - """ - WekWikGene - """ - seva = "seva" - """ - SEVA (Standard European Vector Architecture) - """ - open_dna_collections = "open_dna_collections" - """ - Open DNA collections - """ - - class Collection(str, Enum): AddgenePlasmid = "AddgenePlasmid" """ @@ -263,7 +239,7 @@ class TemplateSequence(Sequence): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -328,7 +304,7 @@ class TextFileSequence(Sequence): json_schema_extra={ "linkml_meta": { "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource", "OligoHybridizationSource"], + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], "ifabsent": "int(0)", } }, @@ -339,7 +315,7 @@ class TextFileSequence(Sequence): json_schema_extra={ "linkml_meta": { "alias": "overhang_watson_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource"], + "domain_of": ["TextFileSequence", "ManuallyTypedSequence"], "ifabsent": "int(0)", } }, @@ -374,6 +350,104 @@ class TextFileSequence(Sequence): ) +class ManuallyTypedSequence(Sequence): + """ + Represents a sequence that is manually typed by the user + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "overhang_crick_3prime": {"ifabsent": "int(0)", "name": "overhang_crick_3prime"}, + "overhang_watson_3prime": {"ifabsent": "int(0)", "name": "overhang_watson_3prime"}, + }, + } + ) + + overhang_crick_3prime: Optional[int] = Field( + default=0, + description="""Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_crick_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], + "ifabsent": "int(0)", + } + }, + ) + overhang_watson_3prime: Optional[int] = Field( + default=0, + description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_watson_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence"], + "ifabsent": "int(0)", + } + }, + ) + sequence: str = Field( + default=..., + description="""The sequence of the manually typed sequence""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } + }, + ) + circular: Optional[bool] = Field( + default=False, + description="""Whether the sequence is circular or linear""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + "ifabsent": "boolean(false)", + } + }, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["ManuallyTypedSequence"] = Field( + default="ManuallyTypedSequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + @field_validator("sequence") + def pattern_sequence(cls, v): + pattern = re.compile(r"^[acgtACGT]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence format: {v}" + raise ValueError(err_msg) + return v + + class Primer(Sequence): """ An oligonucleotide or primer @@ -406,7 +480,10 @@ class Primer(Sequence): sequence: Optional[str] = Field( default=None, json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) id: int = Field( @@ -484,7 +561,10 @@ class SourceInput(ConfiguredBaseModel): default=..., description="""The input sequence""", json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) @@ -778,7 +858,6 @@ class CollectionOption(ConfiguredBaseModel): ManuallyTypedSource, UploadedFileSource, RepositoryIdSource, - GenomeCoordinatesSource, SequenceCutSource, AssemblySource, OligoHybridizationSource, @@ -805,6 +884,8 @@ class CollectionOption(ConfiguredBaseModel): EuroscarfSource, IGEMSource, OpenDNACollectionsSource, + NCBISequenceSource, + GenomeCoordinatesSource, ] = Field( default=..., description="""The source of the sequence for this option""", @@ -884,51 +965,8 @@ class ManuallyTypedSource(Source): Represents the source of a sequence that is manually typed by the user """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( - { - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_usage": { - "overhang_crick_3prime": {"ifabsent": "int(0)", "name": "overhang_crick_3prime"}, - "overhang_watson_3prime": {"ifabsent": "int(0)", "name": "overhang_watson_3prime"}, - }, - } - ) + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) - overhang_crick_3prime: Optional[int] = Field( - default=0, - description="""Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand""", - json_schema_extra={ - "linkml_meta": { - "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource", "OligoHybridizationSource"], - "ifabsent": "int(0)", - } - }, - ) - overhang_watson_3prime: Optional[int] = Field( - default=0, - description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", - json_schema_extra={ - "linkml_meta": { - "alias": "overhang_watson_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource"], - "ifabsent": "int(0)", - } - }, - ) - user_input: str = Field( - default=..., json_schema_extra={"linkml_meta": {"alias": "user_input", "domain_of": ["ManuallyTypedSource"]}} - ) - circular: Optional[bool] = Field( - default=None, - description="""Whether the sequence is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, - ) type: Literal["ManuallyTypedSource"] = Field( default="ManuallyTypedSource", description="""Designates the class""", @@ -976,19 +1014,6 @@ class ManuallyTypedSource(Source): }, ) - @field_validator("user_input") - def pattern_user_input(cls, v): - pattern = re.compile(r"^[acgtACGT]+$") - if isinstance(v, list): - for element in v: - if isinstance(element, str) and not pattern.match(element): - err_msg = f"Invalid user_input format: {element}" - raise ValueError(err_msg) - elif isinstance(v, str) and not pattern.match(v): - err_msg = f"Invalid user_input format: {v}" - raise ValueError(err_msg) - return v - class UploadedFileSource(Source): """ @@ -1029,7 +1054,9 @@ class UploadedFileSource(Source): coordinates: Optional[str] = Field( default=None, description="""If provided, coordinates within the sequence of the file to extract a subsequence""", - json_schema_extra={"linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource"]}}, + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, ) type: Literal["UploadedFileSource"] = Field( default="UploadedFileSource", @@ -1091,10 +1118,6 @@ class RepositoryIdSource(Source): description="""The id of the sequence in the repository""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["RepositoryIdSource"] = Field( default="RepositoryIdSource", description="""Designates the class""", @@ -1175,10 +1198,6 @@ class AddgeneIdSource(RepositoryIdSource): description="""The id of the sequence in the repository""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["AddgeneIdSource"] = Field( default="AddgeneIdSource", description="""Designates the class""", @@ -1281,10 +1300,6 @@ class WekWikGeneIdSource(RepositoryIdSource): description="""The id of the gene in the WeKwikGene database""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["WekWikGeneIdSource"] = Field( default="WekWikGeneIdSource", description="""Designates the class""", @@ -1408,10 +1423,6 @@ class SEVASource(RepositoryIdSource): description="""The SEVA plasmid name""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["SEVASource"] = Field( default="SEVASource", description="""Designates the class""", @@ -1511,10 +1522,6 @@ class BenchlingUrlSource(RepositoryIdSource): description="""The url of the gb file associated with the sequence""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["BenchlingUrlSource"] = Field( default="BenchlingUrlSource", description="""Designates the class""", @@ -1608,10 +1615,6 @@ class SnapGenePlasmidSource(RepositoryIdSource): description="""The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /.""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["SnapGenePlasmidSource"] = Field( default="SnapGenePlasmidSource", description="""Designates the class""", @@ -1696,10 +1699,6 @@ class EuroscarfSource(RepositoryIdSource): description="""The id of the plasmid in the Euroscarf plasmid library""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["EuroscarfSource"] = Field( default="EuroscarfSource", description="""Designates the class""", @@ -1809,10 +1808,6 @@ class IGEMSource(RepositoryIdSource): description="""The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["IGEMSource"] = Field( default="IGEMSource", description="""Designates the class""", @@ -1913,10 +1908,6 @@ class OpenDNACollectionsSource(RepositoryIdSource): description="""Subpath of the sequence in the Open DNA collections repository""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["OpenDNACollectionsSource"] = Field( default="OpenDNACollectionsSource", description="""Designates the class""", @@ -1993,23 +1984,97 @@ def pattern_repository_id(cls, v): return v -class GenomeCoordinatesSource(Source): +class NCBISequenceSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by an NCBI sequence accession + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": {"description": "The sequence accession (e.g. " "X60065.1)", "name": "repository_id"} + }, + } + ) + + coordinates: Optional[str] = Field( + default=None, + description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, + ) + repository_id: str = Field( + default=..., + description="""The sequence accession (e.g. X60065.1)""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["NCBISequenceSource"] = Field( + default="NCBISequenceSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class GenomeCoordinatesSource(NCBISequenceSource): """ Represents the source of a sequence that is identified by genome coordinates, requested from NCBI """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"location": {"name": "location", "required": True}}, + } + ) assembly_accession: Optional[str] = Field( default=None, description="""The accession of the assembly""", json_schema_extra={"linkml_meta": {"alias": "assembly_accession", "domain_of": ["GenomeCoordinatesSource"]}}, ) - sequence_accession: str = Field( - default=..., - description="""The accession of the sequence""", - json_schema_extra={"linkml_meta": {"alias": "sequence_accession", "domain_of": ["GenomeCoordinatesSource"]}}, - ) locus_tag: Optional[str] = Field( default=None, description="""The locus tag of the sequence""", @@ -2020,23 +2085,18 @@ class GenomeCoordinatesSource(Source): description="""The gene id of the sequence""", json_schema_extra={"linkml_meta": {"alias": "gene_id", "domain_of": ["GenomeCoordinatesSource"]}}, ) - start: int = Field( - default=..., - description="""The starting coordinate (1-based) of the sequence in the sequence accession""", - json_schema_extra={"linkml_meta": {"alias": "start", "domain_of": ["GenomeCoordinatesSource"]}}, - ) - end: int = Field( - default=..., - description="""The ending coordinate (1-based) of the sequence in the sequence accession""", - json_schema_extra={"linkml_meta": {"alias": "end", "domain_of": ["GenomeCoordinatesSource"]}}, - ) - strand: int = Field( - default=..., - description="""The strand of the sequence in the sequence accession, should be 1 or -1""", + coordinates: Optional[str] = Field( + default=None, + description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", json_schema_extra={ - "linkml_meta": {"alias": "strand", "domain_of": ["GenomeCoordinatesSource", "PlannotateAnnotationReport"]} + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} }, ) + repository_id: str = Field( + default=..., + description="""The sequence accession (e.g. X60065.1)""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) type: Literal["GenomeCoordinatesSource"] = Field( default="GenomeCoordinatesSource", description="""Designates the class""", @@ -2271,7 +2331,10 @@ class AssemblyFragment(SourceInput): default=..., description="""The input sequence""", json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) @@ -2289,7 +2352,7 @@ class AssemblySource(Source): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2361,7 +2424,7 @@ class PCRSource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2426,7 +2489,7 @@ class LigationSource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2491,7 +2554,7 @@ class HomologousRecombinationSource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2556,7 +2619,7 @@ class GibsonAssemblySource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2621,7 +2684,7 @@ class InFusionSource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2686,7 +2749,7 @@ class OverlapExtensionPCRLigationSource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2751,7 +2814,7 @@ class InVivoAssemblySource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2831,7 +2894,7 @@ class RestrictionAndLigationSource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2906,7 +2969,7 @@ class GatewaySource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -2971,7 +3034,7 @@ class CreLoxRecombinationSource(AssemblySource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -3036,7 +3099,7 @@ class CRISPRSource(HomologousRecombinationSource): json_schema_extra={ "linkml_meta": { "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], } }, ) @@ -3101,7 +3164,7 @@ class OligoHybridizationSource(Source): json_schema_extra={ "linkml_meta": { "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource", "OligoHybridizationSource"], + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], } }, ) @@ -3215,7 +3278,7 @@ class CloningStrategy(ConfiguredBaseModel): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) - sequences: list[Union[Sequence, TemplateSequence, TextFileSequence, Primer]] = Field( + sequences: list[Union[Sequence, TemplateSequence, TextFileSequence, ManuallyTypedSequence, Primer]] = Field( default=..., description="""The sequences that are used in the cloning strategy""", json_schema_extra={"linkml_meta": {"alias": "sequences", "domain_of": ["CloningStrategy"]}}, @@ -3228,7 +3291,6 @@ class CloningStrategy(ConfiguredBaseModel): ManuallyTypedSource, UploadedFileSource, RepositoryIdSource, - GenomeCoordinatesSource, SequenceCutSource, AssemblySource, OligoHybridizationSource, @@ -3255,6 +3317,8 @@ class CloningStrategy(ConfiguredBaseModel): EuroscarfSource, IGEMSource, OpenDNACollectionsSource, + NCBISequenceSource, + GenomeCoordinatesSource, ] ] = Field( default=..., @@ -3346,9 +3410,7 @@ class PlannotateAnnotationReport(AnnotationReport): ) strand: Optional[int] = Field( default=None, - json_schema_extra={ - "linkml_meta": {"alias": "strand", "domain_of": ["GenomeCoordinatesSource", "PlannotateAnnotationReport"]} - }, + json_schema_extra={"linkml_meta": {"alias": "strand", "domain_of": ["PlannotateAnnotationReport"]}}, ) percent_identity: Optional[float] = Field( default=None, @@ -3394,7 +3456,10 @@ class PlannotateAnnotationReport(AnnotationReport): sequence: Optional[str] = Field( default=None, json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) type: Literal["PlannotateAnnotationReport"] = Field( @@ -3638,6 +3703,7 @@ class SequencingFile(AssociatedFile): Sequence.model_rebuild() TemplateSequence.model_rebuild() TextFileSequence.model_rebuild() +ManuallyTypedSequence.model_rebuild() Primer.model_rebuild() SourceInput.model_rebuild() SequenceCut.model_rebuild() @@ -3658,6 +3724,7 @@ class SequencingFile(AssociatedFile): EuroscarfSource.model_rebuild() IGEMSource.model_rebuild() OpenDNACollectionsSource.model_rebuild() +NCBISequenceSource.model_rebuild() GenomeCoordinatesSource.model_rebuild() SequenceCutSource.model_rebuild() RestrictionEnzymeDigestionSource.model_rebuild() diff --git a/src/opencloning_linkml/datamodel/models.py b/src/opencloning_linkml/datamodel/models.py index 87aaced..6dbab13 100644 --- a/src/opencloning_linkml/datamodel/models.py +++ b/src/opencloning_linkml/datamodel/models.py @@ -1,7 +1,7 @@ from ._models import * # noqa: F403,F401 from opencloning_linkml._version import __version__ from typing import Optional -from pydantic import Field +from pydantic import Field, model_validator class CloningStrategy(CloningStrategy): # noqa: F405 @@ -10,3 +10,12 @@ class CloningStrategy(CloningStrategy): # noqa: F405 description="""The version of the schema that was used to generate this cloning strategy""", json_schema_extra={"linkml_meta": {"alias": "schema_version", "domain_of": ["CloningStrategy"]}}, ) + + +class ManuallyTypedSequence(ManuallyTypedSequence): # noqa: F405 + @model_validator(mode="after") + def validate_circular_overhangs(self): + """Ensure that if circular is True, both overhangs must be 0""" + if self.circular is True and not (self.overhang_crick_3prime == self.overhang_watson_3prime == 0): + raise ValueError("If circular is True, both overhangs must be 0") + return self diff --git a/src/opencloning_linkml/migrations/__init__.py b/src/opencloning_linkml/migrations/__init__.py index 9747c29..1de73d5 100644 --- a/src/opencloning_linkml/migrations/__init__.py +++ b/src/opencloning_linkml/migrations/__init__.py @@ -20,12 +20,14 @@ def load_migrations() -> MigrationDict: from .transformations.v0_2_8_to_v0_2_9 import migrate_0_2_8_to_0_2_9 # noqa: F401 from .transformations.v0_2_9_to_v_0_4_0 import migrate_0_2_9_to_0_4_0 # noqa: F401 from .transformations.v0_4_0_to_v0_4_6 import migrate_0_4_0_to_0_4_6 # noqa: F401 + from .transformations.v0_4_6_to_v0_4_9 import migrate_0_4_6_to_0_4_9 # noqa: F401 return { ("0.2.6.1", "0.2.8"): migrate_0_2_6_1_to_0_2_8, ("0.2.8", "0.2.9"): migrate_0_2_8_to_0_2_9, ("0.2.9", "0.4.0"): migrate_0_2_9_to_0_4_0, ("0.4.0", "0.4.6"): migrate_0_4_0_to_0_4_6, + ("0.4.6", "0.4.9"): migrate_0_4_6_to_0_4_9, } diff --git a/src/opencloning_linkml/migrations/model_archive/v0_4_9.py b/src/opencloning_linkml/migrations/model_archive/v0_4_9.py new file mode 100644 index 0000000..fb202c6 --- /dev/null +++ b/src/opencloning_linkml/migrations/model_archive/v0_4_9.py @@ -0,0 +1,3752 @@ +from __future__ import annotations + +import re +import sys +from datetime import date, datetime, time +from decimal import Decimal +from enum import Enum +from typing import Any, ClassVar, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel, field_validator + + +metamodel_version = "None" +version = "None" + + +class ConfiguredBaseModel(BaseModel): + model_config = ConfigDict( + validate_assignment=True, + validate_default=True, + extra="forbid", + arbitrary_types_allowed=True, + use_enum_values=True, + strict=False, + ) + pass + + +class LinkMLMeta(RootModel): + root: dict[str, Any] = {} + model_config = ConfigDict(frozen=True) + + def __getattr__(self, key: str): + return getattr(self.root, key) + + def __getitem__(self, key: str): + return self.root[key] + + def __setitem__(self, key: str, value): + self.root[key] = value + + def __contains__(self, key: str) -> bool: + return key in self.root + + +linkml_meta = LinkMLMeta( + { + "default_prefix": "opencloning_linkml", + "default_range": "string", + "description": "A LinkML data model for OpenCloning", + "id": "https://opencloning.github.io/OpenCloning_LinkML", + "imports": ["linkml:types"], + "license": "MIT", + "name": "OpenCloning_LinkML", + "prefixes": { + "GENO": {"prefix_prefix": "GENO", "prefix_reference": "http://purl.obolibrary.org/obo/GENO_"}, + "IAO": {"prefix_prefix": "IAO", "prefix_reference": "http://purl.obolibrary.org/obo/IAO_"}, + "NCIT": {"prefix_prefix": "NCIT", "prefix_reference": "http://purl.obolibrary.org/obo/NCIT_"}, + "OBI": {"prefix_prefix": "OBI", "prefix_reference": "http://purl.obolibrary.org/obo/OBI_"}, + "PATO": {"prefix_prefix": "PATO", "prefix_reference": "http://purl.obolibrary.org/obo/PATO_"}, + "biolink": {"prefix_prefix": "biolink", "prefix_reference": "https://w3id.org/biolink/"}, + "bioschemas": {"prefix_prefix": "bioschemas", "prefix_reference": "https://bioschemas.org/"}, + "example": {"prefix_prefix": "example", "prefix_reference": "https://example.org/"}, + "linkml": {"prefix_prefix": "linkml", "prefix_reference": "https://w3id.org/linkml/"}, + "opencloning_linkml": { + "prefix_prefix": "opencloning_linkml", + "prefix_reference": "https://opencloning.github.io/OpenCloning_LinkML/", + }, + "schema": {"prefix_prefix": "schema", "prefix_reference": "http://schema.org/"}, + }, + "see_also": ["https://pypi.org/project/opencloning-linkml/"], + "source_file": "src/opencloning_linkml/schema/opencloning_linkml.yaml", + "title": "OpenCloning_LinkML", + "types": { + "sequence_range": { + "description": "A sequence range defined using " + "genbank syntax (e.g. 1..100), " + "note that 1..100 in genbank is " + "equivalent to 0:100 in python", + "exact_mappings": ["GENO:0000965"], + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "name": "sequence_range", + "pattern": "^(\\d+)\\.\\.(\\d+)$", + "typeof": "string", + }, + "simple_sequence_location": { + "description": "A simple sequence " + "location defined using " + "genbank syntax (e.g. " + "1..100 or " + "complement(1..100)), " + "note that 1..100 in " + "genbank is equivalent " + "to 0:100 in python", + "exact_mappings": ["GENO:0000965"], + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "name": "simple_sequence_location", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "typeof": "string", + }, + "version_number": { + "description": "A version number", + "exact_mappings": ["IAO:0000129"], + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "name": "version_number", + "typeof": "string", + }, + }, + } +) + + +class Collection(str, Enum): + AddgenePlasmid = "AddgenePlasmid" + """ + A plasmid from Addgene + """ + OligoPair = "OligoPair" + """ + A pair of oligonucleotides for hybridization + """ + + +class SequenceFileFormat(str, Enum): + fasta = "fasta" + genbank = "genbank" + snapgene = "snapgene" + embl = "embl" + + +class AddgeneSequenceType(str, Enum): + depositor_full = "depositor-full" + """ + Full sequence of the plasmid submitted by the depositor + """ + addgene_full = "addgene-full" + """ + Full sequence of the plasmid performed by Addgene + """ + + +class GatewayReactionType(str, Enum): + LR = "LR" + """ + LR reaction + """ + BP = "BP" + """ + BP reaction + """ + + +class AnnotationTool(str, Enum): + plannotate = "plannotate" + + +class AssociatedFileType(str, Enum): + Sequencing_file = "Sequencing file" + """ + A file containing sequencing data + """ + + +class CollectionOptionType(str, Enum): + OligoPair = "OligoPair" + """ + A pair of oligonucleotides for hybridization + """ + AddgenePlasmid = "AddgenePlasmid" + """ + A plasmid from Addgene + """ + + +class NamedThing(ConfiguredBaseModel): + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + {"class_uri": "schema:Thing", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML"} + ) + + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class Sequence(NamedThing): + """ + Represents a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "abstract": True, + "class_uri": "bioschemas:DNA", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + } + ) + + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["Sequence"] = Field( + default="Sequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class TemplateSequence(Sequence): + """ + Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the sequence is circular or linear""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + primer_design: Optional[str] = Field( + default=None, + description="""Can be used to indicate the intended primer design for this sequence in the template""", + json_schema_extra={"linkml_meta": {"alias": "primer_design", "domain_of": ["TemplateSequence"]}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["TemplateSequence"] = Field( + default="TemplateSequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class TextFileSequence(Sequence): + """ + A sequence (may have features) defined by the content of a text file + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "overhang_crick_3prime": {"ifabsent": "int(0)", "name": "overhang_crick_3prime"}, + "overhang_watson_3prime": {"ifabsent": "int(0)", "name": "overhang_watson_3prime"}, + "sequence_file_format": {"name": "sequence_file_format", "required": True}, + }, + } + ) + + sequence_file_format: SequenceFileFormat = Field( + default=..., + description="""The format of a sequence file""", + json_schema_extra={ + "linkml_meta": {"alias": "sequence_file_format", "domain_of": ["TextFileSequence", "UploadedFileSource"]} + }, + ) + overhang_crick_3prime: Optional[int] = Field( + default=0, + description="""Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_crick_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], + "ifabsent": "int(0)", + } + }, + ) + overhang_watson_3prime: Optional[int] = Field( + default=0, + description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_watson_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence"], + "ifabsent": "int(0)", + } + }, + ) + file_content: Optional[str] = Field( + default=None, json_schema_extra={"linkml_meta": {"alias": "file_content", "domain_of": ["TextFileSequence"]}} + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["TextFileSequence"] = Field( + default="TextFileSequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class ManuallyTypedSequence(Sequence): + """ + Represents a sequence that is manually typed by the user + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "overhang_crick_3prime": {"ifabsent": "int(0)", "name": "overhang_crick_3prime"}, + "overhang_watson_3prime": {"ifabsent": "int(0)", "name": "overhang_watson_3prime"}, + }, + } + ) + + overhang_crick_3prime: Optional[int] = Field( + default=0, + description="""Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_crick_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], + "ifabsent": "int(0)", + } + }, + ) + overhang_watson_3prime: Optional[int] = Field( + default=0, + description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_watson_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence"], + "ifabsent": "int(0)", + } + }, + ) + sequence: str = Field( + default=..., + description="""The sequence of the manually typed sequence""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } + }, + ) + circular: Optional[bool] = Field( + default=False, + description="""Whether the sequence is circular or linear""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + "ifabsent": "boolean(false)", + } + }, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["ManuallyTypedSequence"] = Field( + default="ManuallyTypedSequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + @field_validator("sequence") + def pattern_sequence(cls, v): + pattern = re.compile(r"^[acgtACGT]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence format: {v}" + raise ValueError(err_msg) + return v + + +class Primer(Sequence): + """ + An oligonucleotide or primer + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + name: Optional[str] = Field( + default=None, + description="""A human-readable name for a thing""", + json_schema_extra={ + "linkml_meta": { + "alias": "name", + "domain_of": ["Primer", "CollectionOption", "CollectionOptionInfo"], + "slot_uri": "schema:name", + } + }, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + sequence: Optional[str] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } + }, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["Primer"] = Field( + default="Primer", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + @field_validator("sequence") + def pattern_sequence(cls, v): + pattern = re.compile(r"^[acgtACGT]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence format: {v}" + raise ValueError(err_msg) + return v + + +class SourceInput(ConfiguredBaseModel): + """ + Represents an input to a source + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "schema:Role", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "represents_relationship": True, + } + ) + + type: Literal["SourceInput"] = Field( + default="SourceInput", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + sequence: int = Field( + default=..., + description="""The input sequence""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } + }, + ) + + +class SequenceCut(ConfiguredBaseModel): + """ + Represents a cut in a DNA sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + cut_watson: int = Field( + default=..., + description="""The position of the cut in the watson strand. The cut is made before the base at this position (zero-based), so that cut position 1 cuts after the first base.""", + json_schema_extra={"linkml_meta": {"alias": "cut_watson", "domain_of": ["SequenceCut"]}}, + ) + overhang: int = Field( + default=..., + description="""The length of the overhang that is left after the cut. It can be negative, same meaning as in pydna's `dseq::ovhg` and biopython's `Bio.Restriction.RestrictionType.ovhg`.""", + json_schema_extra={"linkml_meta": {"alias": "overhang", "domain_of": ["SequenceCut"]}}, + ) + + +class RestrictionSequenceCut(SequenceCut): + """ + Represents a cut in a DNA sequence that is made by a restriction enzyme + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"restriction_enzyme": {"name": "restriction_enzyme", "required": True}}, + } + ) + + restriction_enzyme: str = Field( + default=..., + json_schema_extra={ + "linkml_meta": { + "alias": "restriction_enzyme", + "domain_of": ["RestrictionSequenceCut"], + "exact_mappings": ["OBI:0000732"], + } + }, + ) + cut_watson: int = Field( + default=..., + description="""The position of the cut in the watson strand. The cut is made before the base at this position (zero-based), so that cut position 1 cuts after the first base.""", + json_schema_extra={"linkml_meta": {"alias": "cut_watson", "domain_of": ["SequenceCut"]}}, + ) + overhang: int = Field( + default=..., + description="""The length of the overhang that is left after the cut. It can be negative, same meaning as in pydna's `dseq::ovhg` and biopython's `Bio.Restriction.RestrictionType.ovhg`.""", + json_schema_extra={"linkml_meta": {"alias": "overhang", "domain_of": ["SequenceCut"]}}, + ) + + +class Source(NamedThing): + """ + Represents the source of a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "abstract": True, + "class_uri": "schema:CreateAction", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + } + ) + + type: Literal["Source"] = Field( + default="Source", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class DatabaseSource(Source): + """ + Represents the source of a sequence that is identified by a database id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"database_id": {"name": "database_id", "required": True}}, + } + ) + + database_id: int = Field( + default=..., + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + type: Literal["DatabaseSource"] = Field( + default="DatabaseSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CollectionSource(Source): + """ + Represents a collection of possible sources in a template + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + category_id: Optional[str] = Field( + default=None, + description="""The identifier of the category of the part in the template""", + json_schema_extra={"linkml_meta": {"alias": "category_id", "domain_of": ["CollectionSource"]}}, + ) + title: str = Field( + default=..., + description="""The title of the category""", + json_schema_extra={"linkml_meta": {"alias": "title", "domain_of": ["CollectionSource"]}}, + ) + description: Optional[str] = Field( + default=None, + description="""A description of the category""", + json_schema_extra={ + "linkml_meta": { + "alias": "description", + "domain_of": ["CollectionSource", "CollectionOptionInfo", "CloningStrategy"], + } + }, + ) + image: Optional[list[str]] = Field( + default=None, + description="""URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size].""", + json_schema_extra={"linkml_meta": {"alias": "image", "domain_of": ["CollectionSource"]}}, + ) + options: Optional[list[CollectionOption]] = Field( + default=None, + description="""The options available in this category.""", + json_schema_extra={"linkml_meta": {"alias": "options", "domain_of": ["CollectionSource"]}}, + ) + type: Literal["CollectionSource"] = Field( + default="CollectionSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CollectionOption(ConfiguredBaseModel): + """ + Represents an option in a collection + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"name": {"name": "name", "required": True}}, + } + ) + + name: str = Field( + default=..., + description="""A human-readable name for a thing""", + json_schema_extra={ + "linkml_meta": { + "alias": "name", + "domain_of": ["Primer", "CollectionOption", "CollectionOptionInfo"], + "slot_uri": "schema:name", + } + }, + ) + source: Union[ + Source, + DatabaseSource, + CollectionSource, + ManuallyTypedSource, + UploadedFileSource, + RepositoryIdSource, + SequenceCutSource, + AssemblySource, + OligoHybridizationSource, + PolymeraseExtensionSource, + AnnotationSource, + ReverseComplementSource, + PCRSource, + LigationSource, + HomologousRecombinationSource, + GibsonAssemblySource, + InFusionSource, + OverlapExtensionPCRLigationSource, + InVivoAssemblySource, + RestrictionAndLigationSource, + GatewaySource, + CreLoxRecombinationSource, + CRISPRSource, + RestrictionEnzymeDigestionSource, + AddgeneIdSource, + WekWikGeneIdSource, + SEVASource, + BenchlingUrlSource, + SnapGenePlasmidSource, + EuroscarfSource, + IGEMSource, + OpenDNACollectionsSource, + NCBISequenceSource, + GenomeCoordinatesSource, + ] = Field( + default=..., + description="""The source of the sequence for this option""", + json_schema_extra={"linkml_meta": {"alias": "source", "domain_of": ["CollectionOption"]}}, + ) + info: Optional[CollectionOptionInfo] = Field( + default=None, + description="""Additional information about this option""", + json_schema_extra={"linkml_meta": {"alias": "info", "domain_of": ["CollectionOption"]}}, + ) + + +class CollectionOptionInfo(ConfiguredBaseModel): + """ + Additional information about a collection option + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"name": {"name": "name", "required": False}}, + } + ) + + name: Optional[str] = Field( + default=None, + description="""A human-readable name for a thing""", + json_schema_extra={ + "linkml_meta": { + "alias": "name", + "domain_of": ["Primer", "CollectionOption", "CollectionOptionInfo"], + "slot_uri": "schema:name", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""A description of the option""", + json_schema_extra={ + "linkml_meta": { + "alias": "description", + "domain_of": ["CollectionSource", "CollectionOptionInfo", "CloningStrategy"], + } + }, + ) + type: Optional[CollectionOptionType] = Field( + default=None, + description="""The type of the option, this is redundant with the type of the source, and could be removed.""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + resistance: Optional[str] = Field( + default=None, + description="""The antibiotic resistance of the plasmid""", + json_schema_extra={"linkml_meta": {"alias": "resistance", "domain_of": ["CollectionOptionInfo"]}}, + ) + well: Optional[str] = Field( + default=None, + description="""The well position in the kit plate""", + json_schema_extra={"linkml_meta": {"alias": "well", "domain_of": ["CollectionOptionInfo"]}}, + ) + + +class ManuallyTypedSource(Source): + """ + Represents the source of a sequence that is manually typed by the user + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["ManuallyTypedSource"] = Field( + default="ManuallyTypedSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class UploadedFileSource(Source): + """ + Represents the source of a sequence that is uploaded as a file + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"sequence_file_format": {"name": "sequence_file_format", "required": True}}, + } + ) + + sequence_file_format: SequenceFileFormat = Field( + default=..., + description="""The format of a sequence file""", + json_schema_extra={ + "linkml_meta": {"alias": "sequence_file_format", "domain_of": ["TextFileSequence", "UploadedFileSource"]} + }, + ) + file_name: Optional[str] = Field( + default=None, + description="""The name of the file""", + json_schema_extra={ + "linkml_meta": {"alias": "file_name", "domain_of": ["UploadedFileSource", "AssociatedFile"]} + }, + ) + index_in_file: Optional[int] = Field( + default=None, + description="""The index of the sequence in the file""", + json_schema_extra={"linkml_meta": {"alias": "index_in_file", "domain_of": ["UploadedFileSource"]}}, + ) + circularize: Optional[bool] = Field( + default=None, + description="""Whether the sequence should be circularized (FASTA only)""", + json_schema_extra={"linkml_meta": {"alias": "circularize", "domain_of": ["UploadedFileSource"]}}, + ) + coordinates: Optional[str] = Field( + default=None, + description="""If provided, coordinates within the sequence of the file to extract a subsequence""", + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, + ) + type: Literal["UploadedFileSource"] = Field( + default="UploadedFileSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class RepositoryIdSource(Source): + """ + Represents the source of a sequence that is identified by a repository id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + repository_id: str = Field( + default=..., + description="""The id of the sequence in the repository""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["RepositoryIdSource"] = Field( + default="RepositoryIdSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class AddgeneIdSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by an Addgene id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + sequence_file_url: Optional[str] = Field( + default=None, + description="""The URL of a sequence file""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + addgene_sequence_type: Optional[AddgeneSequenceType] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "addgene_sequence_type", "domain_of": ["AddgeneIdSource"]}}, + ) + repository_id: str = Field( + default=..., + description="""The id of the sequence in the repository""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["AddgeneIdSource"] = Field( + default="AddgeneIdSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile( + r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" + ) + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + +class WekWikGeneIdSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by a WeKwikGene id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The id of the gene in the " "WeKwikGene database", + "name": "repository_id", + "pattern": "^\\d+$", + } + }, + } + ) + + sequence_file_url: Optional[str] = Field( + default=None, + description="""The URL of a sequence file""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + repository_id: str = Field( + default=..., + description="""The id of the gene in the WeKwikGene database""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["WekWikGeneIdSource"] = Field( + default="WekWikGeneIdSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile( + r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" + ) + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^\d+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class SEVASource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by a SEVA id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The SEVA plasmid name", + "name": "repository_id", + "pattern": "^pSEVA\\d+.*$", + }, + "sequence_file_url": { + "description": "The URL of the sequence " + "file, which can refer to " + "a a gb file hosted on " + "the SEVA website or an " + "entry in the NCBI.", + "name": "sequence_file_url", + }, + }, + } + ) + + sequence_file_url: Optional[str] = Field( + default=None, + description="""The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI.""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + repository_id: str = Field( + default=..., + description="""The SEVA plasmid name""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["SEVASource"] = Field( + default="SEVASource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile( + r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" + ) + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^pSEVA\d+.*$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class BenchlingUrlSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by a Benchling URL + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The url of the gb file " "associated with the sequence", + "name": "repository_id", + "pattern": "^https:\\/\\/benchling\\.com\\/.+\\.gb$", + } + }, + } + ) + + repository_id: str = Field( + default=..., + description="""The url of the gb file associated with the sequence""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["BenchlingUrlSource"] = Field( + default="BenchlingUrlSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^https:\/\/benchling\.com\/.+\.gb$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class SnapGenePlasmidSource(RepositoryIdSource): + """ + Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/ + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The subpath of the plasmid " + "in the SnapGene plasmid " + "library. Requesting the " + "plasmid is possible with " + "https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} " + "where category_path is the " + "left part of the subpath " + "before the first / and " + "plasmid is the subpath after " + "the /.", + "name": "repository_id", + "pattern": "^[^\\/]+\\/[^\\/]+$", + } + }, + } + ) + + repository_id: str = Field( + default=..., + description="""The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /.""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["SnapGenePlasmidSource"] = Field( + default="SnapGenePlasmidSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^[^\/]+\/[^\/]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class EuroscarfSource(RepositoryIdSource): + """ + Represents the source of a sequence from the Euroscarf plasmid library + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The id of the plasmid in the " "Euroscarf plasmid library", + "name": "repository_id", + "pattern": "^P\\d+$", + } + }, + } + ) + + repository_id: str = Field( + default=..., + description="""The id of the plasmid in the Euroscarf plasmid library""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["EuroscarfSource"] = Field( + default="EuroscarfSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^P\d+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class IGEMSource(RepositoryIdSource): + """ + Represents the source of a sequence from an iGEM collection + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The unique identifier of the " + "sequence in the iGEM " + "collection (for now, " + "{part_id}-{plasmid_backbone}) " + "pattern: ^[^-]+-[^-]+$", + "name": "repository_id", + }, + "sequence_file_url": { + "description": "The URL of the sequence " "file, for now github " "repository", + "name": "sequence_file_url", + "pattern": "^.*.gb$", + "required": True, + }, + }, + } + ) + + sequence_file_url: str = Field( + default=..., + description="""The URL of the sequence file, for now github repository""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + repository_id: str = Field( + default=..., + description="""The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["IGEMSource"] = Field( + default="IGEMSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile(r"^.*.gb$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + +class OpenDNACollectionsSource(RepositoryIdSource): + """ + Represents the source of a sequence from the Open DNA collections + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "Subpath of the sequence in " "the Open DNA collections " "repository", + "name": "repository_id", + "pattern": "^[^\\/]+\\/[^\\/]+$", + } + }, + } + ) + + sequence_file_url: Optional[str] = Field( + default=None, + description="""The URL of a sequence file""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + repository_id: str = Field( + default=..., + description="""Subpath of the sequence in the Open DNA collections repository""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["OpenDNACollectionsSource"] = Field( + default="OpenDNACollectionsSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile( + r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" + ) + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^[^\/]+\/[^\/]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class NCBISequenceSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by an NCBI sequence accession + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": {"description": "The sequence accession (e.g. " "X60065.1)", "name": "repository_id"} + }, + } + ) + + coordinates: Optional[str] = Field( + default=None, + description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, + ) + repository_id: str = Field( + default=..., + description="""The sequence accession (e.g. X60065.1)""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["NCBISequenceSource"] = Field( + default="NCBISequenceSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class GenomeCoordinatesSource(NCBISequenceSource): + """ + Represents the source of a sequence that is identified by genome coordinates, requested from NCBI + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"location": {"name": "location", "required": True}}, + } + ) + + assembly_accession: Optional[str] = Field( + default=None, + description="""The accession of the assembly""", + json_schema_extra={"linkml_meta": {"alias": "assembly_accession", "domain_of": ["GenomeCoordinatesSource"]}}, + ) + locus_tag: Optional[str] = Field( + default=None, + description="""The locus tag of the sequence""", + json_schema_extra={"linkml_meta": {"alias": "locus_tag", "domain_of": ["GenomeCoordinatesSource"]}}, + ) + gene_id: Optional[int] = Field( + default=None, + description="""The gene id of the sequence""", + json_schema_extra={"linkml_meta": {"alias": "gene_id", "domain_of": ["GenomeCoordinatesSource"]}}, + ) + coordinates: Optional[str] = Field( + default=None, + description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, + ) + repository_id: str = Field( + default=..., + description="""The sequence accession (e.g. X60065.1)""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["GenomeCoordinatesSource"] = Field( + default="GenomeCoordinatesSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class SequenceCutSource(Source): + """ + Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + left_edge: Optional[SequenceCut] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "left_edge", + "domain_of": ["SequenceCutSource", "RestrictionEnzymeDigestionSource"], + } + }, + ) + right_edge: Optional[SequenceCut] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "right_edge", + "domain_of": ["SequenceCutSource", "RestrictionEnzymeDigestionSource"], + } + }, + ) + type: Literal["SequenceCutSource"] = Field( + default="SequenceCutSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class RestrictionEnzymeDigestionSource(SequenceCutSource): + """ + Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + left_edge: Optional[RestrictionSequenceCut] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "left_edge", + "domain_of": ["SequenceCutSource", "RestrictionEnzymeDigestionSource"], + } + }, + ) + right_edge: Optional[RestrictionSequenceCut] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "right_edge", + "domain_of": ["SequenceCutSource", "RestrictionEnzymeDigestionSource"], + } + }, + ) + type: Literal["RestrictionEnzymeDigestionSource"] = Field( + default="RestrictionEnzymeDigestionSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class AssemblyFragment(SourceInput): + """ + Represents a fragment in an assembly + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + left_location: Optional[str] = Field( + default=None, json_schema_extra={"linkml_meta": {"alias": "left_location", "domain_of": ["AssemblyFragment"]}} + ) + right_location: Optional[str] = Field( + default=None, json_schema_extra={"linkml_meta": {"alias": "right_location", "domain_of": ["AssemblyFragment"]}} + ) + reverse_complemented: bool = Field( + default=..., + description="""Whether the sequence is reverse complemented in the assembly""", + json_schema_extra={"linkml_meta": {"alias": "reverse_complemented", "domain_of": ["AssemblyFragment"]}}, + ) + type: Literal["AssemblyFragment"] = Field( + default="AssemblyFragment", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + sequence: int = Field( + default=..., + description="""The input sequence""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } + }, + ) + + +class AssemblySource(Source): + """ + Represents the source of a sequence that is an assembly of other sequences + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["AssemblySource"] = Field( + default="AssemblySource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class PCRSource(AssemblySource): + """ + Represents the source of a sequence that is generated by PCR + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + add_primer_features: Optional[bool] = Field( + default=False, + description="""Whether to add primer features to the PCR product""", + json_schema_extra={ + "linkml_meta": {"alias": "add_primer_features", "domain_of": ["PCRSource"], "ifabsent": "boolean(false)"} + }, + ) + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["PCRSource"] = Field( + default="PCRSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class LigationSource(AssemblySource): + """ + Represents the source of a sequence that is generated by ligation with sticky or blunt ends. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["LigationSource"] = Field( + default="LigationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class HomologousRecombinationSource(AssemblySource): + """ + Represents the source of a sequence that is generated by homologous recombination + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["HomologousRecombinationSource"] = Field( + default="HomologousRecombinationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class GibsonAssemblySource(AssemblySource): + """ + Represents the source of a sequence that is generated by Gibson assembly + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["GibsonAssemblySource"] = Field( + default="GibsonAssemblySource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class InFusionSource(AssemblySource): + """ + Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["InFusionSource"] = Field( + default="InFusionSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class OverlapExtensionPCRLigationSource(AssemblySource): + """ + Represents the source of a sequence that is generated by ligation of PCR products as part of overlap extension PCR. Algorithmically equivalent to Gibson assembly. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["OverlapExtensionPCRLigationSource"] = Field( + default="OverlapExtensionPCRLigationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class InVivoAssemblySource(AssemblySource): + """ + Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["InVivoAssemblySource"] = Field( + default="InVivoAssemblySource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class RestrictionAndLigationSource(AssemblySource): + """ + Represents the source of a sequence that is generated by restriction and ligation + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"restriction_enzymes": {"name": "restriction_enzymes", "required": True}}, + } + ) + + restriction_enzymes: list[str] = Field( + default=..., + json_schema_extra={ + "linkml_meta": { + "alias": "restriction_enzymes", + "domain_of": ["RestrictionAndLigationSource"], + "exact_mappings": ["OBI:0000732"], + } + }, + ) + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["RestrictionAndLigationSource"] = Field( + default="RestrictionAndLigationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class GatewaySource(AssemblySource): + """ + Represents the source of a sequence that is generated by Gateway cloning + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + reaction_type: GatewayReactionType = Field( + default=..., json_schema_extra={"linkml_meta": {"alias": "reaction_type", "domain_of": ["GatewaySource"]}} + ) + greedy: Optional[bool] = Field( + default=False, + description="""Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)""", + json_schema_extra={ + "linkml_meta": {"alias": "greedy", "domain_of": ["GatewaySource"], "ifabsent": "boolean(false)"} + }, + ) + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["GatewaySource"] = Field( + default="GatewaySource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CreLoxRecombinationSource(AssemblySource): + """ + Represents the source of a sequence that is generated by Cre - Lox recombination + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["CreLoxRecombinationSource"] = Field( + default="CreLoxRecombinationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CRISPRSource(HomologousRecombinationSource): + """ + Represents the source of a sequence that is generated by CRISPR + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, + ) + type: Literal["CRISPRSource"] = Field( + default="CRISPRSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class OligoHybridizationSource(Source): + """ + Represents the source of a sequence that is generated by oligo hybridization + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + overhang_crick_3prime: Optional[int] = Field( + default=None, + description="""Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_crick_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], + } + }, + ) + type: Literal["OligoHybridizationSource"] = Field( + default="OligoHybridizationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class PolymeraseExtensionSource(Source): + """ + Represents the source of a sequence that is generated by polymerase extension + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["PolymeraseExtensionSource"] = Field( + default="PolymeraseExtensionSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CloningStrategy(ConfiguredBaseModel): + """ + Represents a cloning strategy + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + sequences: list[Union[Sequence, TemplateSequence, TextFileSequence, ManuallyTypedSequence, Primer]] = Field( + default=..., + description="""The sequences that are used in the cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "sequences", "domain_of": ["CloningStrategy"]}}, + ) + sources: list[ + Union[ + Source, + DatabaseSource, + CollectionSource, + ManuallyTypedSource, + UploadedFileSource, + RepositoryIdSource, + SequenceCutSource, + AssemblySource, + OligoHybridizationSource, + PolymeraseExtensionSource, + AnnotationSource, + ReverseComplementSource, + PCRSource, + LigationSource, + HomologousRecombinationSource, + GibsonAssemblySource, + InFusionSource, + OverlapExtensionPCRLigationSource, + InVivoAssemblySource, + RestrictionAndLigationSource, + GatewaySource, + CreLoxRecombinationSource, + CRISPRSource, + RestrictionEnzymeDigestionSource, + AddgeneIdSource, + WekWikGeneIdSource, + SEVASource, + BenchlingUrlSource, + SnapGenePlasmidSource, + EuroscarfSource, + IGEMSource, + OpenDNACollectionsSource, + NCBISequenceSource, + GenomeCoordinatesSource, + ] + ] = Field( + default=..., + description="""The sources of the sequences that are used in the cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "sources", "domain_of": ["CloningStrategy"]}}, + ) + primers: Optional[list[Primer]] = Field( + default=None, + description="""The primers that are used in the cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "primers", "domain_of": ["CloningStrategy"]}}, + ) + description: Optional[str] = Field( + default=None, + description="""A description of the cloning strategy""", + json_schema_extra={ + "linkml_meta": { + "alias": "description", + "domain_of": ["CollectionSource", "CollectionOptionInfo", "CloningStrategy"], + } + }, + ) + files: Optional[list[Union[AssociatedFile, SequencingFile]]] = Field( + default=None, + description="""Files associated with this cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "files", "domain_of": ["CloningStrategy"]}}, + ) + schema_version: Optional[str] = Field( + default=None, + description="""The version of the schema that was used to generate this cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "schema_version", "domain_of": ["CloningStrategy"]}}, + ) + backend_version: Optional[str] = Field( + default=None, + description="""The version of the backend that was used to generate this cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "backend_version", "domain_of": ["CloningStrategy"]}}, + ) + frontend_version: Optional[str] = Field( + default=None, + description="""The version of the frontend that was used to generate this cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "frontend_version", "domain_of": ["CloningStrategy"]}}, + ) + + +class AnnotationReport(ConfiguredBaseModel): + """ + Represents a report of an annotation step + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["AnnotationReport"] = Field( + default="AnnotationReport", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class PlannotateAnnotationReport(AnnotationReport): + """ + Represents a report of an annotation step using Plannotate + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + sseqid: Optional[str] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "sseqid", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + start_location: Optional[int] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "start_location", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + end_location: Optional[int] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "end_location", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + strand: Optional[int] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "strand", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + percent_identity: Optional[float] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "percent_identity", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + full_length_of_feature_in_db: Optional[int] = Field( + default=None, + json_schema_extra={ + "linkml_meta": {"alias": "full_length_of_feature_in_db", "domain_of": ["PlannotateAnnotationReport"]} + }, + ) + length_of_found_feature: Optional[int] = Field( + default=None, + json_schema_extra={ + "linkml_meta": {"alias": "length_of_found_feature", "domain_of": ["PlannotateAnnotationReport"]} + }, + ) + percent_match_length: Optional[float] = Field( + default=None, + json_schema_extra={ + "linkml_meta": {"alias": "percent_match_length", "domain_of": ["PlannotateAnnotationReport"]} + }, + ) + fragment: Optional[bool] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "fragment", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + database: Optional[str] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "database", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + Feature: Optional[str] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "Feature", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + Type: Optional[str] = Field( + default=None, json_schema_extra={"linkml_meta": {"alias": "Type", "domain_of": ["PlannotateAnnotationReport"]}} + ) + Description: Optional[str] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "Description", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + sequence: Optional[str] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } + }, + ) + type: Literal["PlannotateAnnotationReport"] = Field( + default="PlannotateAnnotationReport", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class AnnotationSource(Source): + """ + Represents a computational step in which sequence features are annotated in a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + annotation_tool: AnnotationTool = Field( + default=..., json_schema_extra={"linkml_meta": {"alias": "annotation_tool", "domain_of": ["AnnotationSource"]}} + ) + annotation_tool_version: Optional[str] = Field( + default=None, + description="""The version of the annotation tool""", + json_schema_extra={"linkml_meta": {"alias": "annotation_tool_version", "domain_of": ["AnnotationSource"]}}, + ) + annotation_report: Optional[list[Union[AnnotationReport, PlannotateAnnotationReport]]] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "annotation_report", "domain_of": ["AnnotationSource"]}}, + ) + type: Literal["AnnotationSource"] = Field( + default="AnnotationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class ReverseComplementSource(Source): + """ + Represents the in-silico transformation of a sequence into its reverse complement + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["ReverseComplementSource"] = Field( + default="ReverseComplementSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class AssociatedFile(ConfiguredBaseModel): + """ + Represents a file associated with a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["AssociatedFile"] = Field( + default="AssociatedFile", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + sequence_id: int = Field( + default=..., + description="""The sequence this file is associated with""", + json_schema_extra={"linkml_meta": {"alias": "sequence_id", "domain_of": ["AssociatedFile"]}}, + ) + file_name: str = Field( + default=..., + description="""The name of the file""", + json_schema_extra={ + "linkml_meta": {"alias": "file_name", "domain_of": ["UploadedFileSource", "AssociatedFile"]} + }, + ) + file_type: AssociatedFileType = Field( + default=..., + description="""The type of file""", + json_schema_extra={"linkml_meta": {"alias": "file_type", "domain_of": ["AssociatedFile"]}}, + ) + + +class SequencingFile(AssociatedFile): + """ + Represents a sequencing file and its alignment to a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + alignment: list[str] = Field( + default=..., + description="""The alignment of the sequencing read to the sequence. List of strings representing aligned sequences.""", + json_schema_extra={"linkml_meta": {"alias": "alignment", "domain_of": ["SequencingFile"]}}, + ) + type: Literal["SequencingFile"] = Field( + default="SequencingFile", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + sequence_id: int = Field( + default=..., + description="""The sequence this file is associated with""", + json_schema_extra={"linkml_meta": {"alias": "sequence_id", "domain_of": ["AssociatedFile"]}}, + ) + file_name: str = Field( + default=..., + description="""The name of the file""", + json_schema_extra={ + "linkml_meta": {"alias": "file_name", "domain_of": ["UploadedFileSource", "AssociatedFile"]} + }, + ) + file_type: AssociatedFileType = Field( + default=..., + description="""The type of file""", + json_schema_extra={"linkml_meta": {"alias": "file_type", "domain_of": ["AssociatedFile"]}}, + ) + + +# Model rebuild +# see https://pydantic-docs.helpmanual.io/usage/models/#rebuilding-a-model +NamedThing.model_rebuild() +Sequence.model_rebuild() +TemplateSequence.model_rebuild() +TextFileSequence.model_rebuild() +ManuallyTypedSequence.model_rebuild() +Primer.model_rebuild() +SourceInput.model_rebuild() +SequenceCut.model_rebuild() +RestrictionSequenceCut.model_rebuild() +Source.model_rebuild() +DatabaseSource.model_rebuild() +CollectionSource.model_rebuild() +CollectionOption.model_rebuild() +CollectionOptionInfo.model_rebuild() +ManuallyTypedSource.model_rebuild() +UploadedFileSource.model_rebuild() +RepositoryIdSource.model_rebuild() +AddgeneIdSource.model_rebuild() +WekWikGeneIdSource.model_rebuild() +SEVASource.model_rebuild() +BenchlingUrlSource.model_rebuild() +SnapGenePlasmidSource.model_rebuild() +EuroscarfSource.model_rebuild() +IGEMSource.model_rebuild() +OpenDNACollectionsSource.model_rebuild() +NCBISequenceSource.model_rebuild() +GenomeCoordinatesSource.model_rebuild() +SequenceCutSource.model_rebuild() +RestrictionEnzymeDigestionSource.model_rebuild() +AssemblyFragment.model_rebuild() +AssemblySource.model_rebuild() +PCRSource.model_rebuild() +LigationSource.model_rebuild() +HomologousRecombinationSource.model_rebuild() +GibsonAssemblySource.model_rebuild() +InFusionSource.model_rebuild() +OverlapExtensionPCRLigationSource.model_rebuild() +InVivoAssemblySource.model_rebuild() +RestrictionAndLigationSource.model_rebuild() +GatewaySource.model_rebuild() +CreLoxRecombinationSource.model_rebuild() +CRISPRSource.model_rebuild() +OligoHybridizationSource.model_rebuild() +PolymeraseExtensionSource.model_rebuild() +CloningStrategy.model_rebuild() +AnnotationReport.model_rebuild() +PlannotateAnnotationReport.model_rebuild() +AnnotationSource.model_rebuild() +ReverseComplementSource.model_rebuild() +AssociatedFile.model_rebuild() +SequencingFile.model_rebuild() diff --git a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py new file mode 100644 index 0000000..482b8f1 --- /dev/null +++ b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py @@ -0,0 +1,68 @@ +from ..model_archive.v0_4_9 import ( + CloningStrategy as new_CloningStrategy, + NCBISequenceSource, + GenomeCoordinatesSource as new_GenomeCoordinatesSource, +) +from ..model_archive.v0_4_6 import ( + CloningStrategy as old_CloningStrategy, + GenomeCoordinatesSource as old_GenomeCoordinatesSource, +) + +from copy import deepcopy + + +def migrate_manually_typed_source(source: dict) -> dict: + new_source = deepcopy(source) + for key in ["overhang_crick_3prime", "overhang_watson_3prime", "user_input", "circular"]: + if key in new_source: + del new_source[key] + return new_source + + +def migrate_genbank_repository_id(source: dict) -> dict: + new_source = {key: value for key, value in source.items() if key not in ["type", "repository_name"]} + return NCBISequenceSource(**new_source).model_dump() + + +def migrate_repository_id_source(source: dict) -> dict: + new_source = deepcopy(source) + del new_source["repository_name"] + return new_source + + +def migrate_source(source: dict) -> dict: + if source["type"] == "ManuallyTypedSource": + return migrate_manually_typed_source(source) + elif source["type"] == "RepositoryIdSource" and source["repository_name"] == "genbank": + return migrate_genbank_repository_id(source) + elif "repository_name" in source: + return migrate_repository_id_source(source) + elif source["type"] == "GenomeCoordinatesSource": + return migrate_genome_coordinates_source(source) + elif source["type"] == "CollectionSource": + source["options"] = [{**o, "source": migrate_source(o["source"])} for o in source["options"]] + return source + + +def migrate_genome_coordinates_source(source: dict) -> dict: + old_source = old_GenomeCoordinatesSource.model_validate(source) + if old_source.strand == -1: + location = f"complement({old_source.start}..{old_source.end})" + else: + location = f"{old_source.start}..{old_source.end}" + + excluded_fields = ["type", "strand", "start", "end", "sequence_accession"] + extra_fields = {key: value for key, value in source.items() if key not in excluded_fields} + return new_GenomeCoordinatesSource( + coordinates=location, repository_id=old_source.sequence_accession, **extra_fields + ).model_dump() + + +def migrate_0_4_6_to_0_4_9(data: dict) -> dict: + """Migrate data from version 0.4.6 to 0.4.9.""" + old = old_CloningStrategy.model_validate(data) + old_dict = old.model_dump() + old_dict["sources"] = [migrate_source(s) for s in old_dict["sources"]] + new = new_CloningStrategy.model_validate(old_dict) + new.schema_version = "0.4.9" + return new.model_dump() diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 6e2e962..6a98a04 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -40,6 +40,14 @@ types: exact_mappings: - GENO:0000965 pattern: ^(\d+)\.\.(\d+)$ + simple_sequence_location: + typeof: string + description: >- + A simple sequence location defined using genbank syntax (e.g. 1..100 or complement(1..100)), note that 1..100 in genbank is equivalent to 0:100 in python + exact_mappings: + - GENO:0000965 + pattern: ^((\d+)\.\.(\d+)|complement\((\d+)\.\.(\d+)\))$ + classes: NamedThing: @@ -92,6 +100,32 @@ classes: overhang_watson_3prime: ifabsent: int(0) + ManuallyTypedSequence: + is_a: Sequence + description: >- + Represents a sequence that is manually typed by the user + slots: + - overhang_crick_3prime + - overhang_watson_3prime + attributes: + - sequence: + range: string + pattern: ^[acgtACGT]+$ + description: >- + The sequence of the manually typed sequence + required: true + - circular: + range: boolean + description: >- + Whether the sequence is circular or linear + required: false + ifabsent: boolean(false) + slot_usage: + overhang_crick_3prime: + ifabsent: int(0) + overhang_watson_3prime: + ifabsent: int(0) + Primer: is_a: Sequence description: >- @@ -269,25 +303,6 @@ classes: is_a: Source description: >- Represents the source of a sequence that is manually typed by the user - # TODO: See if we can define a type of raw DNA seq with its own constraints, - # should be the same as in primer - slots: - - overhang_crick_3prime - - overhang_watson_3prime - attributes: - - user_input: - required: true - range: string - pattern: ^[acgtACGT]+$ - - circular: - range: boolean - description: >- - Whether the sequence is circular or not - slot_usage: - overhang_crick_3prime: - ifabsent: int(0) - overhang_watson_3prime: - ifabsent: int(0) UploadedFileSource: is_a: Source @@ -323,10 +338,6 @@ classes: is_a: Source description: >- Represents the source of a sequence that is identified by a repository id - attributes: - - repository_name: - range: RepositoryName - required: true slots: - repository_id @@ -335,7 +346,6 @@ classes: description: >- Represents the source of a sequence that is identified by an Addgene id attributes: - # TODO: repository_name constrain to addgene - addgene_sequence_type: range: AddgeneSequenceType slots: @@ -431,8 +441,24 @@ classes: Subpath of the sequence in the Open DNA collections repository pattern: ^[^\/]+\/[^\/]+$ + NCBISequenceSource: + is_a: RepositoryIdSource + description: >- + Represents the source of a sequence that is identified by an NCBI sequence accession + slot_usage: + repository_id: + description: >- + The sequence accession (e.g. X60065.1) + attributes: + - coordinates: + range: simple_sequence_location + description: >- + If provided, represents the location of a subsequence within the sequence identified by + the sequence accession. + required: false + GenomeCoordinatesSource: - is_a: Source + is_a: NCBISequenceSource description: >- Represents the source of a sequence that is identified by genome coordinates, requested from NCBI attributes: @@ -441,11 +467,6 @@ classes: description: >- The accession of the assembly required: false - - sequence_accession: - range: string - description: >- - The accession of the sequence - required: true - locus_tag: range: string description: >- @@ -456,23 +477,10 @@ classes: description: >- The gene id of the sequence required: false - # TODO: Move to sequencelocation - - start: - range: integer - description: >- - The starting coordinate (1-based) of the sequence in the sequence accession - required: true - - end: - range: integer - description: >- - The ending coordinate (1-based) of the sequence in the sequence accession - required: true - # TODO: constrain to 1 / -1 - - strand: - range: integer - description: >- - The strand of the sequence in the sequence accession, should be 1 or -1 - required: true + slot_usage: + location: + required: true + SequenceCutSource: is_a: Source @@ -848,35 +856,6 @@ slots: required: true enums: - RepositoryName: - permissible_values: - addgene: - description: >- - Addgene - genbank: - description: >- - GenBank - benchling: - description: >- - Benchling - snapgene: - description: >- - SnapGene plasmid library - euroscarf: - description: >- - Euroscarf (plasmids only) - igem: - description: >- - iGEM collection - wekwikgene: - description: >- - WekWikGene - seva: - description: >- - SEVA (Standard European Vector Architecture) - open_dna_collections: - description: >- - Open DNA collections Collection: permissible_values: diff --git a/tests/migration/v0.4.9/collection.json b/tests/migration/v0.4.9/collection.json new file mode 100644 index 0000000..35f704f --- /dev/null +++ b/tests/migration/v0.4.9/collection.json @@ -0,0 +1,75 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + } + ], + "sources": [ + { + "id": 1, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "upstream_adapter", + "title": "Left adapter", + "description": "Gibson adapter to be joined via an A fusion site (GGAG)", + "image": [ + "https://assets.opencloning.org/OpenCloning-submission/submissions/kits-murray-cidar-moclo-v1/left_adapter.png", + "100%" + ], + "options": [ + { + "name": "UNS1_left", + "source": { + "id": 1, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "39296", + "repository_name": "addgene", + "sequence_file_url": "https://media.addgene.org/snapgene-media/v3.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", + "addgene_sequence_type": "addgene-full" + }, + "info": { + "name": "UNS1_left", + "description": null, + "type": "OligoPair", + "resistance": null, + "well": null + } + }, + { + "name": "UNS3_left", + "source": { + "id": 1, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "39296", + "repository_name": "addgene", + "sequence_file_url": "https://media.addgene.org/snapgene-media/v3.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", + "addgene_sequence_type": "addgene-full" + }, + "info": { + "name": "UNS3_left", + "description": null, + "type": "OligoPair", + "resistance": null, + "well": null + } + } + ] + } + ], + "description": "Transcriptional Unit\n\n5'UTR (with RBS) + promoter + CDS + terminator flanked by Golden Gate adapters", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} diff --git a/tests/migration/v0.4.9/genbank_id.json b/tests/migration/v0.4.9/genbank_id.json new file mode 100644 index 0000000..6585e46 --- /dev/null +++ b/tests/migration/v0.4.9/genbank_id.json @@ -0,0 +1,28 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS X60065 1136 bp DNA linear MAM 26-JUL-2016\nDEFINITION B.bovis beta-2-gpI mRNA for beta-2-glycoprotein I.\nACCESSION X60065\nVERSION X60065.1\nKEYWORDS beta-2 glycoprotein I.\nSOURCE Bos taurus (domestic cattle)\n ORGANISM Bos taurus\n Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi;\n Mammalia; Eutheria; Laurasiatheria; Artiodactyla; Ruminantia;\n Pecora; Bovidae; Bovinae; Bos.\nREFERENCE 1\n AUTHORS Bendixen,E., Halkier,T., Magnusson,S., Sottrup-Jensen,L. and\n Kristensen,T.\n TITLE Complete primary structure of bovine beta 2-glycoprotein I:\n localization of the disulfide bridges\n JOURNAL Biochemistry 31 (14), 3611-3617 (1992)\n PUBMED 1567819\nREFERENCE 2 (bases 1 to 1136)\n AUTHORS Kristensen,T.\n TITLE Direct Submission\n JOURNAL Submitted (11-JUN-1991) T. Kristensen, Dept of Mol Biology,\n University of Aarhus, C F Mollers Alle 130, DK-8000 Aarhus C,\n DENMARK\nFEATURES Location/Qualifiers\n source 1..1136\n /organism=\"Bos taurus\"\n /mol_type=\"mRNA\"\n /db_xref=\"taxon:9913\"\n /clone=\"pBB2I\"\n /tissue_type=\"liver\"\n gene <1..1136\n /gene=\"beta-2-gpI\"\n CDS <1..1029\n /gene=\"beta-2-gpI\"\n /codon_start=1\n /product=\"beta-2-glycoprotein I\"\n /protein_id=\"CAA42669.1\"\n /db_xref=\"GOA:P17690\"\n /db_xref=\"InterPro:IPR000436\"\n /db_xref=\"InterPro:IPR015104\"\n /db_xref=\"InterPro:IPR016060\"\n /db_xref=\"UniProtKB/Swiss-Prot:P17690\"\n /translation=\"PALVLLLGFLCHVAIAGRTCPKPDELPFSTVVPLKRTYEPGEQIV\n FSCQPGYVSRGGIRRFTCPLTGLWPINTLKCMPRVCPFAGILENGTVRYTTFEYPNTIS\n FSCHTGFYLKGASSAKCTEEGKWSPDLPVCAPITCPPPPIPKFASLSVYKPLAGNNSFY\n GSKAVFKCLPHHAMFGNDTVTCTEHGNWTQLPECREVRCPFPSRPDNGFVNHPANPVLY\n YKDTATFGCHETYSLDGPEEVECSKFGNWSAQPSCKASCKLSIKRATVIYEGERVAIQN\n KFKNGMLHGQKVSFFCKHKEKKCSYTEDAQCIDGTIEIPKCFKEHSSLAFWKTDASDVK\n PC\"\n sig_peptide <1..48\n /gene=\"beta-2-gpI\"\n mat_peptide 49..1026\n /gene=\"beta-2-gpI\"\n /product=\"beta-2-glycoprotein I\"\n regulatory 1101..1106\n /regulatory_class=\"polyA_signal_sequence\"\n /gene=\"beta-2-gpI\"\n polyA_site 1130\n /gene=\"beta-2-gpI\"\nORIGIN\n 1 ccagcgctcg tcttgctgtt ggggtttctc tgccacgttg ctatcgcagg acgaacctgc\n 61 cccaagccag atgagctacc gttttccacg gtggttccac tgaaacggac ctatgagccc\n 121 ggggagcaga tagtcttctc ctgccagccg ggctacgtgt cccggggagg gatccggcgg\n 181 tttacatgcc cgctcacagg actctggccc atcaacacgc tgaaatgcat gcccagagta\n 241 tgtccttttg ctgggatctt agaaaacgga acggtacgct atacaacgtt tgagtatccc\n 301 aacaccatca gcttttcttg ccacacgggg ttttatctga aaggagctag ttctgcaaaa\n 361 tgcactgagg aagggaagtg gagcccagac cttcctgtct gtgcccctat aacctgccct\n 421 ccaccaccca tacccaagtt tgcaagtctc agcgtttaca agccgttggc tgggaacaac\n 481 tccttctatg gcagcaaggc agtctttaag tgcttgccac accacgcgat gtttggaaat\n 541 gacaccgtta cctgcacgga acatgggaac tggacgcagt tgccagaatg cagggaagta\n 601 agatgcccat tcccatcaag accagacaat gggtttgtga accatcctgc aaatccagtg\n 661 ctctactata aggacaccgc cacctttggc tgccatgaaa cgtattcctt ggatggaccg\n 721 gaagaagtag aatgcagcaa attcggaaac tggtctgcac agccaagctg taaagcatct\n 781 tgtaagttat ctattaaaag agctactgtg atatatgaag gagagagagt agctatccag\n 841 aacaaattta agaatggaat gctgcatggc caaaaggttt ctttcttctg caagcataag\n 901 gaaaagaagt gcagctacac agaagatgct cagtgcatag acggcaccat cgagattccc\n 961 aaatgcttca aggagcacag ttctttagct ttctggaaaa cggatgcatc tgacgtaaaa\n 1021 ccatgctaag ctggttttca cactgaaaat taaatgtcat gcttatatgt gtctgtctga\n 1081 gaatctgatg gaaacggaaa aataaagaga ctgaatttac cgtgtcaaga aaaaaa\n//" + } + ], + "sources": [ + { + "id": 1, + "type": "RepositoryIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "X60065.1", + "repository_name": "genbank" + } + ], + "description": "", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} diff --git a/tests/migration/v0.4.9/genome_coordinates.json b/tests/migration/v0.4.9/genome_coordinates.json new file mode 100644 index 0000000..99a361a --- /dev/null +++ b/tests/migration/v0.4.9/genome_coordinates.json @@ -0,0 +1,55 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS NC_003424 101 bp DNA linear CON 16-AUG-2024\nDEFINITION Schizosaccharomyces pombe strain 972h- genome assembly, chromosome:\n I.\nACCESSION NC_003424\nVERSION NC_003424.3\nDBLINK BioProject: PRJNA127\n BioSample: SAMEA3138176\n Assembly: GCF_000002945.2\nKEYWORDS RefSeq.\nSOURCE Schizosaccharomyces pombe (fission yeast)\n ORGANISM Schizosaccharomyces pombe\n Eukaryota; Fungi; Dikarya; Ascomycota; Taphrinomycotina;\n Schizosaccharomycetes; Schizosaccharomycetales;\n Schizosaccharomycetaceae; Schizosaccharomyces.\nREFERENCE 1 (bases 1 to 101)\n AUTHORS Schafer,B., Hansen,M. and Lang,B.F.\n TITLE Transcription and RNA-processing in fission yeast mitochondria\n JOURNAL RNA 11 (5), 785-795 (2005)\n PUBMED 15811919\nREFERENCE 2 (bases 1 to 101)\n AUTHORS Wood,V., Gwilliam,R., Rajandream,M.A., Lyne,M., Lyne,R., Stewart,A.,\n Sgouros,J., Peat,N., Hayles,J., Baker,S., Basham,D., Bowman,S.,\n Brooks,K., Brown,D., Brown,S., Chillingworth,T., Churcher,C.,\n Collins,M., Connor,R., Cronin,A., Davis,P., Feltwell,T., Fraser,A.,\n Gentles,S., Goble,A., Hamlin,N., Harris,D., Hidalgo,J., Hodgson,G.,\n Holroyd,S., Hornsby,T., Howarth,S., Huckle,E.J., Hunt,S., Jagels,K.,\n James,K., Jones,L., Jones,M., Leather,S., McDonald,S., McLean,J.,\n Mooney,P., Moule,S., Mungall,K., Murphy,L., Niblett,D., Odell,C.,\n Oliver,K., O'Neil,S., Pearson,D., Quail,M.A., Rabbinowitsch,E.,\n Rutherford,K., Rutter,S., Saunders,D., Seeger,K., Sharp,S.,\n Skelton,J., Simmonds,M., Squares,R., Squares,S., Stevens,K.,\n Taylor,K., Taylor,R.G., Tivey,A., Walsh,S., Warren,T., Whitehead,S.,\n Woodward,J., Volckaert,G., Aert,R., Robben,J., Grymonprez,B.,\n Weltjens,I., Vanstreels,E., Rieger,M., Schafer,M., Muller-Auer,S.,\n Gabel,C., Fuchs,M., Dusterhoft,A., Fritzc,C., Holzer,E., Moestl,D.,\n Hilbert,H., Borzym,K., Langer,I., Beck,A., Lehrach,H., Reinhardt,R.,\n Pohl,T.M., Eger,P., Zimmermann,W., Wedler,H., Wambutt,R.,\n Purnelle,B., Goffeau,A., Cadieu,E., Dreano,S., Gloux,S., Lelaure,V.,\n Mottier,S., Galibert,F., Aves,S.J., Xiang,Z., Hunt,C., Moore,K.,\n Hurst,S.M., Lucas,M., Rochet,M., Gaillardin,C., Tallada,V.A.,\n Garzon,A., Thode,G., Daga,R.R., Cruzado,L., Jimenez,J., Sanchez,M.,\n del Rey,F., Benito,J., Dominguez,A., Revuelta,J.L., Moreno,S.,\n Armstrong,J., Forsburg,S.L., Cerutti,L., Lowe,T., McCombie,W.R.,\n Paulsen,I., Potashkin,J., Shpakovski,G.V., Ussery,D., Barrell,B.G.\n and Nurse,P.\n TITLE The genome sequence of Schizosaccharomyces pombe\n JOURNAL Nature 415 (6874), 871-880 (2002)\n PUBMED 11859360\n REMARK Erratum:[Nature 2003 Jan 2;421(6918):94. Cerrutti L [corrected to\n Cerutti L]]\nREFERENCE 3\n AUTHORS Wood,V., Gwilliam,R., Rajandream,M.A., Lyne,M., Lyne,R., Stewart,A.,\n Sgouros,J., Peat,N., Hayles,J., Baker,S., Basham,D., Bowman,S.,\n Brooks,K., Brown,D., Brown,S., Chillingworth,T., Churcher,C.,\n Collins,M., Connor,R., Cronin,A., Davis,P., Feltwell,T., Fraser,A.,\n Gentles,S., Goble,A., Hamlin,N., Harris,D., Hidalgo,J., Hodgson,G.,\n Holroyd,S., Hornsby,T., Howarth,S., Huckle,E.J., Hunt,S., Jagels,K.,\n James,K., Jones,L., Jones,M., Leather,S., McDonald,S., McLean,J.,\n Mooney,P., Moule,S., Mungall,K., Murphy,L., Niblett,D., Odell,C.,\n Oliver,K., O'Neil,S., Pearson,D., Quail,M.A., Rabbinowitsch,E.,\n Rutherford,K., Rutter,S., Saunders,D., Seeger,K., Sharp,S.,\n Skelton,J., Simmonds,M., Squares,R., Squares,S., Stevens,K.,\n Taylor,K., Taylor,R.G., Tivey,A., Walsh,S., Warren,T., Whitehead,S.,\n Woodward,J., Volckaert,G., Aert,R., Robben,J., Grymonprez,B.,\n Weltjens,I., Vanstreels,E., Rieger,M., Schafer,M., Muller-Auer,S.,\n Gabel,C., Fuchs,M., Dusterhoft,A., Fritzc,C., Holzer,E., Moestl,D.,\n Hilbert,H., Borzym,K., Langer,I., Beck,A., Lehrach,H., Reinhardt,R.,\n Pohl,T.M., Eger,P., Zimmermann,W., Wedler,H., Wambutt,R.,\n Purnelle,B., Goffeau,A., Cadieu,E., Dreano,S., Gloux,S., Lelaure,V.,\n Mottier,S., Galibert,F., Aves,S.J., Xiang,Z., Hunt,C., Moore,K.,\n Hurst,S.M., Lucas,M., Rochet,M., Gaillardin,C., Tallada,V.A.,\n Garzon,A., Thode,G., Daga,R.R., Cruzado,L., Jimenez,J., Sanchez,M.,\n del Rey,F., Benito,J., Dominguez,A., Revuelta,J.L., Moreno,S.,\n Armstrong,J., Forsburg,S.L., Cerutti,L., Lowe,T., McCombie,W.R.,\n Paulsen,I., Potashkin,J., Shpakovski,G.V., Ussery,D., Barrell,B.G.\n and Nurse,P.\n TITLE The genome sequence of Schizosaccharomyces pombe\n JOURNAL Nature 415 (6874), 871-880 (2002)\n PUBMED 11859360\n REMARK Erratum:[Nature 2003 Jan 2;421(6918):94. Cerrutti L [corrected to\n Cerutti L]]\nREFERENCE 4 (bases 1 to 101)\n AUTHORS Trinkl,H., Lang,B.F. and Wolf,K.\n TITLE Nucleotide sequence of the gene encoding the small ribosomal RNA in\n the mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe\n JOURNAL Nucleic Acids Res 17 (16), 6730 (1989)\n PUBMED 2780299\nREFERENCE 5 (bases 1 to 101)\n AUTHORS Lang,B.F., Cedergren,R. and Gray,M.W.\n TITLE The mitochondrial genome of the fission yeast, Schizosaccharomyces\n pombe. Sequence of the large-subunit ribosomal RNA gene, comparison\n of potential secondary structure in fungal mitochondrial\n large-subunit rRNAs and evolutionary considerations\n JOURNAL Eur J Biochem 169 (3), 527-537 (1987)\n PUBMED 2446871\nREFERENCE 6 (bases 1 to 101)\n AUTHORS Lang,B.F., Ahne,F. and Bonen,L.\n TITLE The mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe. The cytochrome b gene has an intron closely related to the\n first two introns in the Saccharomyces cerevisiae cox1 gene\n JOURNAL J Mol Biol 184 (3), 353-366 (1985)\n PUBMED 4046021\nREFERENCE 7 (bases 1 to 101)\n AUTHORS Lang,B.F.\n TITLE The mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe: highly homologous introns are inserted at the same position\n of the otherwise less conserved cox1 genes in Schizosaccharomyces\n pombe and Aspergillus nidulans\n JOURNAL EMBO J 3 (9), 2129-2136 (1984)\n PUBMED 6092057\nREFERENCE 8 (bases 1 to 101)\n CONSRTM NCBI Genome Project\n TITLE Direct Submission\n JOURNAL Submitted (16-AUG-2024) National Center for Biotechnology\n Information, NIH, Bethesda, MD 20894, USA\nREFERENCE 9\n AUTHORS Wood,V. and Rutherford,K.\n CONSRTM PomBase\n TITLE Direct Submission\n JOURNAL Submitted (13-MAR-2024) University of Cambridge, PomBase, Hopkins\n building, Tennis Court Rd, Cambridge, United Kingdom\nREFERENCE 10\n AUTHORS Wood,V.\n CONSRTM The Schizosaccharomyces pombe Genome Sequencing Consortium\n TITLE Direct Submission\n JOURNAL Submitted (29-JUN-2007) European Schizosaccharomyces genome\n sequencing project, Sanger Institute, The Wellcome Trust Genome\n Campus, Hinxton, Cambridge CB10 1SA\nCOMMENT ##Genome-Annotation-Data-START##\n Annotation Provider :: PomBase\n Annotation Status :: Full annotation\n Annotation Pipeline :: Eukaryotic Annotation Propagation Pipeline\n ##Genome-Annotation-Data-END##\n PROVISIONAL REFSEQ: This record has not yet been subject to final\n NCBI review. The reference sequence is identical to CU329670.\n On Dec 11, 2007 this sequence version replaced NC_003424.2.\nFEATURES Location/Qualifiers\n source 1..101\n /organism=\"Schizosaccharomyces pombe\"\n /mol_type=\"genomic DNA\"\n /strain=\"972h-\"\n /db_xref=\"taxon:4896\"\n /chromosome=\"I\"\n gene <1..>101\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n mRNA <1..>101\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /product=\"uncharacterized protein\"\n /transcript_id=\"NM_001018956.3\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n CDS <1..>101\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /note=\"conserved fungal protein\"\n /codon_start=1\n /product=\"uncharacterized protein\"\n /protein_id=\"NP_593522.2\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n /translation=\"MMTRMELRPLEIGFSKALTEVAPVTCQCECWDHNLCSSQASEMDL\n IYQSQDTHSCASKQDAVFQLLSETKIPVPNRYRKISHRLSTLSNKKTLKSQLDRFLSSS\n KKLHNDDVNRGDYCFLLSTPVECSASTNSHSYDCLWNFSCNSFPEYSSYSASETSSVAS\n YSYYSGPNPATPSSSSCNLVNANSLDIYLNINNLKKSKSVPRLRGQFMEPVEHNHPLSK\n SLEEQSSFLEQSKDASSNLTACNRSGSSLSSNFYSSRLSKKTSLASLNKSRASLQHKIM\n SLSRNIIRRVFHKPEVHLDPSASILNLSSSHGESNLTNGLLCQNFKLFQDDWLMEDCAP\n DANFTLYTPLQPWEKRSVKPEIRRPRLNPNFFRVFVLEAQMRRAGKLSANTAGRAQLIY\n LPKPAVTFSTSPLHVEL\"\n gene complement(<1..>101)\n /locus_tag=\"SPOM_SPNCRNA.2846\"\n /db_xref=\"GeneID:90819331\"\n /db_xref=\"PomBase:SPNCRNA.2846\"\n ncRNA complement(<1..>101)\n /ncRNA_class=\"lncRNA\"\n /locus_tag=\"SPOM_SPNCRNA.2846\"\n /product=\"non-coding RNA\"\n /transcript_id=\"NR_192214.1\"\n /db_xref=\"GeneID:90819331\"\n /db_xref=\"PomBase:SPNCRNA.2846\"\nORIGIN\n 1 atcatcagac gtgtatttca caagccagaa gtgcatttgg atccaagtgc ctccatttta\n 61 aatctctcat cttcgcatgg cgaaagcaac ctgacaaatg g\n//" + }, + { + "id": 2, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS NC_003424 101 bp DNA linear CON 16-AUG-2024\nDEFINITION Schizosaccharomyces pombe strain 972h- genome assembly, chromosome:\n I.\nACCESSION NC_003424\nVERSION NC_003424.3\nDBLINK BioProject: PRJNA127\n BioSample: SAMEA3138176\n Assembly: GCF_000002945.2\nKEYWORDS RefSeq.\nSOURCE Schizosaccharomyces pombe (fission yeast)\n ORGANISM Schizosaccharomyces pombe\n Eukaryota; Fungi; Dikarya; Ascomycota; Taphrinomycotina;\n Schizosaccharomycetes; Schizosaccharomycetales;\n Schizosaccharomycetaceae; Schizosaccharomyces.\nREFERENCE 1 (bases 1 to 101)\n AUTHORS Schafer,B., Hansen,M. and Lang,B.F.\n TITLE Transcription and RNA-processing in fission yeast mitochondria\n JOURNAL RNA 11 (5), 785-795 (2005)\n PUBMED 15811919\nREFERENCE 2 (bases 1 to 101)\n AUTHORS Wood,V., Gwilliam,R., Rajandream,M.A., Lyne,M., Lyne,R., Stewart,A.,\n Sgouros,J., Peat,N., Hayles,J., Baker,S., Basham,D., Bowman,S.,\n Brooks,K., Brown,D., Brown,S., Chillingworth,T., Churcher,C.,\n Collins,M., Connor,R., Cronin,A., Davis,P., Feltwell,T., Fraser,A.,\n Gentles,S., Goble,A., Hamlin,N., Harris,D., Hidalgo,J., Hodgson,G.,\n Holroyd,S., Hornsby,T., Howarth,S., Huckle,E.J., Hunt,S., Jagels,K.,\n James,K., Jones,L., Jones,M., Leather,S., McDonald,S., McLean,J.,\n Mooney,P., Moule,S., Mungall,K., Murphy,L., Niblett,D., Odell,C.,\n Oliver,K., O'Neil,S., Pearson,D., Quail,M.A., Rabbinowitsch,E.,\n Rutherford,K., Rutter,S., Saunders,D., Seeger,K., Sharp,S.,\n Skelton,J., Simmonds,M., Squares,R., Squares,S., Stevens,K.,\n Taylor,K., Taylor,R.G., Tivey,A., Walsh,S., Warren,T., Whitehead,S.,\n Woodward,J., Volckaert,G., Aert,R., Robben,J., Grymonprez,B.,\n Weltjens,I., Vanstreels,E., Rieger,M., Schafer,M., Muller-Auer,S.,\n Gabel,C., Fuchs,M., Dusterhoft,A., Fritzc,C., Holzer,E., Moestl,D.,\n Hilbert,H., Borzym,K., Langer,I., Beck,A., Lehrach,H., Reinhardt,R.,\n Pohl,T.M., Eger,P., Zimmermann,W., Wedler,H., Wambutt,R.,\n Purnelle,B., Goffeau,A., Cadieu,E., Dreano,S., Gloux,S., Lelaure,V.,\n Mottier,S., Galibert,F., Aves,S.J., Xiang,Z., Hunt,C., Moore,K.,\n Hurst,S.M., Lucas,M., Rochet,M., Gaillardin,C., Tallada,V.A.,\n Garzon,A., Thode,G., Daga,R.R., Cruzado,L., Jimenez,J., Sanchez,M.,\n del Rey,F., Benito,J., Dominguez,A., Revuelta,J.L., Moreno,S.,\n Armstrong,J., Forsburg,S.L., Cerutti,L., Lowe,T., McCombie,W.R.,\n Paulsen,I., Potashkin,J., Shpakovski,G.V., Ussery,D., Barrell,B.G.\n and Nurse,P.\n TITLE The genome sequence of Schizosaccharomyces pombe\n JOURNAL Nature 415 (6874), 871-880 (2002)\n PUBMED 11859360\n REMARK Erratum:[Nature 2003 Jan 2;421(6918):94. Cerrutti L [corrected to\n Cerutti L]]\nREFERENCE 3\n AUTHORS Wood,V., Gwilliam,R., Rajandream,M.A., Lyne,M., Lyne,R., Stewart,A.,\n Sgouros,J., Peat,N., Hayles,J., Baker,S., Basham,D., Bowman,S.,\n Brooks,K., Brown,D., Brown,S., Chillingworth,T., Churcher,C.,\n Collins,M., Connor,R., Cronin,A., Davis,P., Feltwell,T., Fraser,A.,\n Gentles,S., Goble,A., Hamlin,N., Harris,D., Hidalgo,J., Hodgson,G.,\n Holroyd,S., Hornsby,T., Howarth,S., Huckle,E.J., Hunt,S., Jagels,K.,\n James,K., Jones,L., Jones,M., Leather,S., McDonald,S., McLean,J.,\n Mooney,P., Moule,S., Mungall,K., Murphy,L., Niblett,D., Odell,C.,\n Oliver,K., O'Neil,S., Pearson,D., Quail,M.A., Rabbinowitsch,E.,\n Rutherford,K., Rutter,S., Saunders,D., Seeger,K., Sharp,S.,\n Skelton,J., Simmonds,M., Squares,R., Squares,S., Stevens,K.,\n Taylor,K., Taylor,R.G., Tivey,A., Walsh,S., Warren,T., Whitehead,S.,\n Woodward,J., Volckaert,G., Aert,R., Robben,J., Grymonprez,B.,\n Weltjens,I., Vanstreels,E., Rieger,M., Schafer,M., Muller-Auer,S.,\n Gabel,C., Fuchs,M., Dusterhoft,A., Fritzc,C., Holzer,E., Moestl,D.,\n Hilbert,H., Borzym,K., Langer,I., Beck,A., Lehrach,H., Reinhardt,R.,\n Pohl,T.M., Eger,P., Zimmermann,W., Wedler,H., Wambutt,R.,\n Purnelle,B., Goffeau,A., Cadieu,E., Dreano,S., Gloux,S., Lelaure,V.,\n Mottier,S., Galibert,F., Aves,S.J., Xiang,Z., Hunt,C., Moore,K.,\n Hurst,S.M., Lucas,M., Rochet,M., Gaillardin,C., Tallada,V.A.,\n Garzon,A., Thode,G., Daga,R.R., Cruzado,L., Jimenez,J., Sanchez,M.,\n del Rey,F., Benito,J., Dominguez,A., Revuelta,J.L., Moreno,S.,\n Armstrong,J., Forsburg,S.L., Cerutti,L., Lowe,T., McCombie,W.R.,\n Paulsen,I., Potashkin,J., Shpakovski,G.V., Ussery,D., Barrell,B.G.\n and Nurse,P.\n TITLE The genome sequence of Schizosaccharomyces pombe\n JOURNAL Nature 415 (6874), 871-880 (2002)\n PUBMED 11859360\n REMARK Erratum:[Nature 2003 Jan 2;421(6918):94. Cerrutti L [corrected to\n Cerutti L]]\nREFERENCE 4 (bases 1 to 101)\n AUTHORS Trinkl,H., Lang,B.F. and Wolf,K.\n TITLE Nucleotide sequence of the gene encoding the small ribosomal RNA in\n the mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe\n JOURNAL Nucleic Acids Res 17 (16), 6730 (1989)\n PUBMED 2780299\nREFERENCE 5 (bases 1 to 101)\n AUTHORS Lang,B.F., Cedergren,R. and Gray,M.W.\n TITLE The mitochondrial genome of the fission yeast, Schizosaccharomyces\n pombe. Sequence of the large-subunit ribosomal RNA gene, comparison\n of potential secondary structure in fungal mitochondrial\n large-subunit rRNAs and evolutionary considerations\n JOURNAL Eur J Biochem 169 (3), 527-537 (1987)\n PUBMED 2446871\nREFERENCE 6 (bases 1 to 101)\n AUTHORS Lang,B.F., Ahne,F. and Bonen,L.\n TITLE The mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe. The cytochrome b gene has an intron closely related to the\n first two introns in the Saccharomyces cerevisiae cox1 gene\n JOURNAL J Mol Biol 184 (3), 353-366 (1985)\n PUBMED 4046021\nREFERENCE 7 (bases 1 to 101)\n AUTHORS Lang,B.F.\n TITLE The mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe: highly homologous introns are inserted at the same position\n of the otherwise less conserved cox1 genes in Schizosaccharomyces\n pombe and Aspergillus nidulans\n JOURNAL EMBO J 3 (9), 2129-2136 (1984)\n PUBMED 6092057\nREFERENCE 8 (bases 1 to 101)\n CONSRTM NCBI Genome Project\n TITLE Direct Submission\n JOURNAL Submitted (16-AUG-2024) National Center for Biotechnology\n Information, NIH, Bethesda, MD 20894, USA\nREFERENCE 9\n AUTHORS Wood,V. and Rutherford,K.\n CONSRTM PomBase\n TITLE Direct Submission\n JOURNAL Submitted (13-MAR-2024) University of Cambridge, PomBase, Hopkins\n building, Tennis Court Rd, Cambridge, United Kingdom\nREFERENCE 10\n AUTHORS Wood,V.\n CONSRTM The Schizosaccharomyces pombe Genome Sequencing Consortium\n TITLE Direct Submission\n JOURNAL Submitted (29-JUN-2007) European Schizosaccharomyces genome\n sequencing project, Sanger Institute, The Wellcome Trust Genome\n Campus, Hinxton, Cambridge CB10 1SA\nCOMMENT ##Genome-Annotation-Data-START##\n Annotation Provider :: PomBase\n Annotation Status :: Full annotation\n Annotation Pipeline :: Eukaryotic Annotation Propagation Pipeline\n ##Genome-Annotation-Data-END##\n PROVISIONAL REFSEQ: This record has not yet been subject to final\n NCBI review. The reference sequence is identical to CU329670.\n On Dec 11, 2007 this sequence version replaced NC_003424.2.\nFEATURES Location/Qualifiers\n source 1..101\n /organism=\"Schizosaccharomyces pombe\"\n /mol_type=\"genomic DNA\"\n /strain=\"972h-\"\n /db_xref=\"taxon:4896\"\n /chromosome=\"I\"\n gene <1..>101\n /locus_tag=\"SPOM_SPNCRNA.2846\"\n /db_xref=\"GeneID:90819331\"\n /db_xref=\"PomBase:SPNCRNA.2846\"\n ncRNA <1..>101\n /ncRNA_class=\"lncRNA\"\n /locus_tag=\"SPOM_SPNCRNA.2846\"\n /product=\"non-coding RNA\"\n /transcript_id=\"NR_192214.1\"\n /db_xref=\"GeneID:90819331\"\n /db_xref=\"PomBase:SPNCRNA.2846\"\n gene complement(<1..>101)\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n mRNA complement(<1..>101)\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /product=\"uncharacterized protein\"\n /transcript_id=\"NM_001018956.3\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n CDS complement(<1..>101)\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /note=\"conserved fungal protein\"\n /codon_start=1\n /product=\"uncharacterized protein\"\n /protein_id=\"NP_593522.2\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n /translation=\"MMTRMELRPLEIGFSKALTEVAPVTCQCECWDHNLCSSQASEMDL\n IYQSQDTHSCASKQDAVFQLLSETKIPVPNRYRKISHRLSTLSNKKTLKSQLDRFLSSS\n KKLHNDDVNRGDYCFLLSTPVECSASTNSHSYDCLWNFSCNSFPEYSSYSASETSSVAS\n YSYYSGPNPATPSSSSCNLVNANSLDIYLNINNLKKSKSVPRLRGQFMEPVEHNHPLSK\n SLEEQSSFLEQSKDASSNLTACNRSGSSLSSNFYSSRLSKKTSLASLNKSRASLQHKIM\n SLSRNIIRRVFHKPEVHLDPSASILNLSSSHGESNLTNGLLCQNFKLFQDDWLMEDCAP\n DANFTLYTPLQPWEKRSVKPEIRRPRLNPNFFRVFVLEAQMRRAGKLSANTAGRAQLIY\n LPKPAVTFSTSPLHVEL\"\nORIGIN\n 1 ccatttgtca ggttgctttc gccatgcgaa gatgagagat ttaaaatgga ggcacttgga\n 61 tccaaatgca cttctggctt gtgaaataca cgtctgatga t\n//" + } + ], + "sources": [ + { + "id": 1, + "type": "GenomeCoordinatesSource", + "output_name": null, + "database_id": null, + "input": [], + "assembly_accession": "GCF_000002945.2", + "sequence_accession": "NC_003424.3", + "locus_tag": "blah", + "gene_id": 123, + "start": 1877189, + "end": 1877289, + "strand": 1 + }, + { + "id": 2, + "type": "GenomeCoordinatesSource", + "output_name": null, + "database_id": null, + "input": [], + "assembly_accession": "GCF_000002945.2", + "sequence_accession": "NC_003424.3", + "locus_tag": "blah2", + "gene_id": 456, + "start": 1877189, + "end": 1877289, + "strand": -1 + } + ], + "description": "", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} diff --git a/tests/migration/v0.4.9/manually_typed.json b/tests/migration/v0.4.9/manually_typed.json new file mode 100644 index 0000000..a1cece9 --- /dev/null +++ b/tests/migration/v0.4.9/manually_typed.json @@ -0,0 +1,49 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS name 12 bp DNA circular UNK 01-JAN-1980\nDEFINITION description.\nACCESSION id\nVERSION id\nKEYWORDS .\nSOURCE .\n ORGANISM .\n .\nFEATURES Location/Qualifiers\nORIGIN\n 1 aaaaaaaaaa aa\n//" + }, + { + "id": 2, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 2, + "overhang_watson_3prime": 3, + "file_content": "LOCUS name 9 bp DNA linear UNK 01-JAN-1980\nDEFINITION description.\nACCESSION id\nVERSION id\nKEYWORDS .\nSOURCE .\n ORGANISM .\n .\nFEATURES Location/Qualifiers\nORIGIN\n 1 aaaaaaaaa\n//" + } + ], + "sources": [ + { + "id": 1, + "type": "ManuallyTypedSource", + "output_name": null, + "database_id": null, + "input": [], + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "user_input": "aaaaaaaaaaaa", + "circular": true + }, + { + "id": 2, + "type": "ManuallyTypedSource", + "output_name": null, + "database_id": null, + "input": [], + "overhang_crick_3prime": 2, + "overhang_watson_3prime": 3, + "user_input": "aaaaaaaaa", + "circular": false + } + ], + "description": "", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} diff --git a/tests/migration/v0.4.9/repository_addgene.json b/tests/migration/v0.4.9/repository_addgene.json new file mode 100644 index 0000000..7e896e0 --- /dev/null +++ b/tests/migration/v0.4.9/repository_addgene.json @@ -0,0 +1,30 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS pFA6a-kanMX6 3938 bp DNA circular SYN 14-APR-2025\nDEFINITION synthetic circular DNA.\nACCESSION .\nVERSION .\nKEYWORDS .\nSOURCE synthetic DNA construct\n ORGANISM synthetic DNA construct\n .\nREFERENCE 1 (bases 1 to 3938)\n AUTHORS Bahler J, Wu JQ, Longtine MS, Shah NG, McKenzie A 3rd, Steever AB,\n Wach A, Philippsen P, Pringle JR\n TITLE Heterologous modules for efficient and versatile PCR-based gene\n targeting in Schizosaccharomyces pombe.\n JOURNAL Yeast. 1998 Jul;14(10):943-51.\n PUBMED 9717240\nREFERENCE 2 (bases 1 to 3938)\n AUTHORS .\n TITLE Direct Submission\n JOURNAL Exported Apr 14, 2025 from SnapGene Server 8.0.1\n https://www.snapgene.com\nCOMMENT SGRef: number: 1; type: \"Journal Article\"; journalName: \"Yeast.\";\n date: \"1998-07\"; volume: \"14(10)\"; pages: \"943-51\"\n Sequence Label: pFA6a-kanMX6\nFEATURES Location/Qualifiers\n source 1..3938\n /mol_type=\"other DNA\"\n /organism=\"synthetic DNA construct\"\n primer_bind complement(35..52)\n /label=\"L4440\"\n /note=\"L4440 vector, forward primer\"\n rep_origin complement(206..794)\n /direction=LEFT\n /label=\"ori\"\n /note=\"high-copy-number ColE1/pMB1/pBR322/pUC origin of\n replication\"\n primer_bind complement(286..305)\n /label=\"pBR322ori-F\"\n /note=\"pBR322 origin, forward primer\"\n CDS complement(join(965..1756,1757..1825))\n /codon_start=1\n /gene=\"bla\"\n /product=\"beta-lactamase\"\n /label=\"AmpR\"\n /note=\"confers resistance to ampicillin, carbenicillin, and\n related antibiotics\"\n /translation=\"MSIQHFRVALIPFFAAFCLPVFAHPETLVKVKDAEDQLGARVGYI\n ELDLNSGKILESFRPEERFPMMSTFKVLLCGAVLSRIDAGQEQLGRRIHYSQNDLVEYS\n PVTEKHLTDGMTVRELCSAAITMSDNTAANLLLTTIGGPKELTAFLHNMGDHVTRLDRW\n EPELNEAIPNDERDTTMPVAMATTLRKLLTGELLTLASRQQLIDWMEADKVAGPLLRSA\n LPAGWFIADKSGAGERGSRGIIAALGPDGKPSRIVVIYTTGSQATMDERNRQIAEIGAS\n LIKHW\"\n primer_bind 1588..1607\n /label=\"Amp-R\"\n /note=\"Ampicillin resistance gene, reverse primer\"\n promoter complement(1826..1930)\n /gene=\"bla\"\n /label=\"AmpR promoter\"\n primer_bind 1998..2016\n /label=\"pBRforEco\"\n /note=\"pBR322 vectors, upsteam of EcoRI site, forward\n primer\"\n primer_bind complement(2054..2076)\n /label=\"pGEX 3'\"\n /note=\"pGEX vectors, reverse primer\"\n primer_bind 2176..2195\n /label=\"pRS-marker\"\n /note=\"pRS vectors, use to sequence yeast selectable\n marker\"\n promoter 2276..2294\n /label=\"SP6 promoter\"\n /note=\"promoter for bacteriophage SP6 RNA polymerase\"\n primer_bind 2276..2293\n /label=\"SP6\"\n /note=\"SP6 promoter, forward primer\"\n gene 2407..3763\n /label=\"kanMX\"\n /note=\"yeast selectable marker conferring kanamycin\n resistance (Wach et al., 1994)\"\n promoter 2407..2750\n /label=\"TEF promoter\"\n /note=\"Ashbya gossypii TEF promoter\"\n CDS 2751..3560\n /codon_start=1\n /gene=\"aph(3')-Ia\"\n /product=\"aminoglycoside phosphotransferase\"\n /label=\"KanR\"\n /note=\"confers resistance to kanamycin\"\n /translation=\"MGKEKTHVSRPRLNSNMDADLYGYKWARDNVGQSGATIYRLYGKP\n DAPELFLKHGKGSVANDVTDEMVRLNWLTEFMPLPTIKHFIRTPDDAWLLTTAIPGKTA\n FQVLEEYPDSGENIVDALAVFLRRLHSIPVCNCPFNSDRVFRLAQAQSRMNNGLVDASD\n FDDERNGWPVEQVWKEMHKLLPFSPDSVVTHGDFSLDNLIFDEGKLIGCIDVGRVGIAD\n RYQDLAILWNCLGEFSPSLQKRLFQKYGIDNPDMNKLQFHLMLDEFF\"\n primer_bind complement(2818..2837)\n /label=\"Kan-R\"\n /note=\"Kanamycin resistance gene, reverse primer\"\n terminator 3566..3763\n /label=\"TEF terminator\"\n /note=\"Ashbya gossypii TEF terminator\"\n primer_bind complement(3867..3886)\n /label=\"T7\"\n /note=\"T7 promoter, forward primer\"\n promoter complement(3868..3886)\n /label=\"T7 promoter\"\n /note=\"promoter for bacteriophage T7 RNA polymerase\"\nORIGIN\n 1 gaggcggttt gcgtattggg cgctcttccg cttcctcgct cactgactcg ctgcgctcgg\n 61 tcgttcggct gcggcgagcg gtatcagctc actcaaaggc ggtaatacgg ttatccacag\n 121 aatcagggga taacgcagga aagaacatgt gagcaaaagg ccagcaaaag gccaggaacc\n 181 gtaaaaaggc cgcgttgctg gcgtttttcc ataggctccg cccccctgac gagcatcaca\n 241 aaaatcgacg ctcaagtcag aggtggcgaa acccgacagg actataaaga taccaggcgt\n 301 ttccccctgg aagctccctc gtgcgctctc ctgttccgac cctgccgctt accggatacc\n 361 tgtccgcctt tctcccttcg ggaagcgtgg cgctttctca tagctcacgc tgtaggtatc\n 421 tcagttcggt gtaggtcgtt cgctccaagc tgggctgtgt gcacgaaccc cccgttcagc\n 481 ccgaccgctg cgccttatcc ggtaactatc gtcttgagtc caacccggta agacacgact\n 541 tatcgccact ggcagcagcc actggtaaca ggattagcag agcgaggtat gtaggcggtg\n 601 ctacagagtt cttgaagtgg tggcctaact acggctacac tagaagaaca gtatttggta\n 661 tctgcgctct gctgaagcca gttaccttcg gaaaaagagt tggtagctct tgatccggca\n 721 aacaaaccac cgctggtagc ggtggttttt ttgtttgcaa gcagcagatt acgcgcagaa\n 781 aaaaaggatc tcaagaagat cctttgatct tttctacggg gtctgacgct cagtggaacg\n 841 aaaactcacg ttaagggatt ttggtcatga gattatcaaa aaggatcttc acctagatcc\n 901 ttttaaatta aaaatgaagt tttaaatcaa tctaaagtat atatgagtaa acttggtctg\n 961 acagttacca atgcttaatc agtgaggcac ctatctcagc gatctgtcta tttcgttcat\n 1021 ccatagttgc ctgactcccc gtcgtgtaga taactacgat acgggagggc ttaccatctg\n 1081 gccccagtgc tgcaatgata ccgcgagacc cacgctcacc ggctccagat ttatcagcaa\n 1141 taaaccagcc agccggaagg gccgagcgca gaagtggtcc tgcaacttta tccgcctcca\n 1201 tccagtctat taattgttgc cgggaagcta gagtaagtag ttcgccagtt aatagtttgc\n 1261 gcaacgttgt tgccattgct acaggcatcg tggtgtcacg ctcgtcgttt ggtatggctt\n 1321 cattcagctc cggttcccaa cgatcaaggc gagttacatg atcccccatg ttgtgcaaaa\n 1381 aagcggttag ctccttcggt cctccgatcg ttgtcagaag taagttggcc gcagtgttat\n 1441 cactcatggt tatggcagca ctgcataatt ctcttactgt catgccatcc gtaagatgct\n 1501 tttctgtgac tggtgagtac tcaaccaagt cattctgaga atagtgtatg cggcgaccga\n 1561 gttgctcttg cccggcgtca atacgggata ataccgcgcc acatagcaga actttaaaag\n 1621 tgctcatcat tggaaaacgt tcttcggggc gaaaactctc aaggatctta ccgctgttga\n 1681 gatccagttc gatgtaaccc actcgtgcac ccaactgatc ttcagcatct tttactttca\n 1741 ccagcgtttc tgggtgagca aaaacaggaa ggcaaaatgc cgcaaaaaag ggaataaggg\n 1801 cgacacggaa atgttgaata ctcatactct tcctttttca atattattga agcatttatc\n 1861 agggttattg tctcatgagc ggatacatat ttgaatgtat ttagaaaaat aaacaaatag\n 1921 gggttccgcg cacatttccc cgaaaagtgc cacctgacgt ctaagaaacc attattatca\n 1981 tgacattaac ctataaaaat aggcgtatca cgaggccctt tcgtctcgcg cgtttcggtg\n 2041 atgacggtga aaacctctga cacatgcagc tcccggagac ggtcacagct tgtctgtaag\n 2101 cggatgccgg gagcagacaa gcccgtcagg gcgcgtcagc gggtgttggc gggtgtcggg\n 2161 gctggcttaa ctatgcggca tcagagcaga ttgtactgag agtgcaccat atggacatat\n 2221 tgtcgttaga acgcggctac aattaataca taaccttatg tatcatacac atacgattta\n 2281 ggtgacacta tagaacgcgg ccgccagctg aagcttcgta cgctgcaggt cgacggatcc\n 2341 ccgggttaat taaggcgcgc cagatctgtt tagcttgcct cgtccccgcc gggtcacccg\n 2401 gccagcgaca tggaggccca gaataccctc cttgacagtc ttgacgtgcg cagctcaggg\n 2461 gcatgatgtg actgtcgccc gtacatttag cccatacatc cccatgtata atcatttgca\n 2521 tccatacatt ttgatggccg cacggcgcga agcaaaaatt acggctcctc gctgcagacc\n 2581 tgcgagcagg gaaacgctcc cctcacagac gcgttgaatt gtccccacgc cgcgcccctg\n 2641 tagagaaata taaaaggtta ggatttgcca ctgaggttct tctttcatat acttcctttt\n 2701 aaaatcttgc taggatacag ttctcacatc acatccgaac ataaacaacc atgggtaagg\n 2761 aaaagactca cgtttcgagg ccgcgattaa attccaacat ggatgctgat ttatatgggt\n 2821 ataaatgggc tcgcgataat gtcgggcaat caggtgcgac aatctatcga ttgtatggga\n 2881 agcccgatgc gccagagttg tttctgaaac atggcaaagg tagcgttgcc aatgatgtta\n 2941 cagatgagat ggtcagacta aactggctga cggaatttat gcctcttccg accatcaagc\n 3001 attttatccg tactcctgat gatgcatggt tactcaccac tgcgatcccc ggcaaaacag\n 3061 cattccaggt attagaagaa tatcctgatt caggtgaaaa tattgttgat gcgctggcag\n 3121 tgttcctgcg ccggttgcat tcgattcctg tttgtaattg tccttttaac agcgatcgcg\n 3181 tatttcgtct cgctcaggcg caatcacgaa tgaataacgg tttggttgat gcgagtgatt\n 3241 ttgatgacga gcgtaatggc tggcctgttg aacaagtctg gaaagaaatg cataagcttt\n 3301 tgccattctc accggattca gtcgtcactc atggtgattt ctcacttgat aaccttattt\n 3361 ttgacgaggg gaaattaata ggttgtattg atgttggacg agtcggaatc gcagaccgat\n 3421 accaggatct tgccatccta tggaactgcc tcggtgagtt ttctccttca ttacagaaac\n 3481 ggctttttca aaaatatggt attgataatc ctgatatgaa taaattgcag tttcatttga\n 3541 tgctcgatga gtttttctaa tcagtactga caataaaaag attcttgttt tcaagaactt\n 3601 gtcatttgta tagttttttt atattgtagt tgttctattt taatcaaatg ttagcgtgat\n 3661 ttatattttt tttcgcctcg acatcatctg cccagatgcg aagttaagtg cgcagaaagt\n 3721 aatatcatgc gtcaatcgta tgtgaatgct ggtcgctata ctgctgtcga ttcgatacta\n 3781 acgccgccat ccagtttaaa cgagctcgaa ttcatcgatg atatcagatc cactagtggc\n 3841 ctatgcggcc gcggatctgc cggtctccct atagtgagtc gtattaattt cgataagcca\n 3901 ggttaacctg cattaatgaa tcggccaacg cgcgggga\n//" + } + ], + "sources": [ + { + "id": 1, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "39296", + "repository_name": "addgene", + "sequence_file_url": "https://media.addgene.org/snapgene-media/v3.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", + "addgene_sequence_type": "addgene-full" + } + ], + "description": "", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} diff --git a/tests/test_migration.py b/tests/test_migration.py index b549142..5678fd7 100644 --- a/tests/test_migration.py +++ b/tests/test_migration.py @@ -98,17 +98,6 @@ def test_0_2_8_to_0_2_9(self): self.assertEqual(cs.sources[0].assembly[0].right_location, "0^1") self.assertEqual(cs.sources[1].coordinates, "1..100") - def test_0_4_0_to_0_4_6(self): - from opencloning_linkml.migrations.model_archive.v0_4_6 import CloningStrategy as new_CloningStrategy - - with open(os.path.join(test_folder, "migration/v0.4.0/output_field.json"), "r") as f: - data = json.load(f) - self.assertIn("output", data["sources"][0]) - migrated_data = migrate(data, "0.4.6") - # Just has to pass the validation - new_CloningStrategy(**migrated_data) - self.assertNotIn("output", migrated_data["sources"][0]) - def test_0_2_9_to_0_4_0(self): from opencloning_linkml.migrations.model_archive.v0_2_9 import CloningStrategy as old_CloningStrategy from opencloning_linkml.migrations.model_archive.v0_4_0 import CloningStrategy as new_CloningStrategy @@ -131,6 +120,101 @@ def test_0_2_9_to_0_4_0(self): for file in migrated_data["files"]: self.assertEqual(file["sequence_id"], 1) + def test_0_4_0_to_0_4_6(self): + from opencloning_linkml.migrations.model_archive.v0_4_6 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.0/output_field.json"), "r") as f: + data = json.load(f) + self.assertIn("output", data["sources"][0]) + migrated_data = migrate(data, "0.4.6") + # Just has to pass the validation + new_CloningStrategy(**migrated_data) + self.assertNotIn("output", migrated_data["sources"][0]) + + def test_0_4_6_to_0_4_9_ManuallyTypedSource(self): + from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.9/manually_typed.json"), "r") as f: + data = json.load(f) + self.assertIn("overhang_crick_3prime", data["sources"][0]) + self.assertIn("overhang_watson_3prime", data["sources"][0]) + self.assertIn("user_input", data["sources"][0]) + self.assertIn("circular", data["sources"][0]) + migrated_data = migrate(data, "0.4.9") + + # Passes the validation + new_CloningStrategy(**migrated_data) + self.assertNotIn("overhang_crick_3prime", migrated_data["sources"][0]) + self.assertNotIn("overhang_watson_3prime", migrated_data["sources"][0]) + self.assertNotIn("user_input", migrated_data["sources"][0]) + self.assertNotIn("circular", migrated_data["sources"][0]) + + def test_0_4_6_to_0_4_9_RepositoryIdSource(self): + from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.9/genbank_id.json"), "r") as f: + data = json.load(f) + self.assertIn("repository_id", data["sources"][0]) + self.assertIn("repository_name", data["sources"][0]) + migrated_data = migrate(data, "0.4.9") + # Passes the validation + new_CloningStrategy(**migrated_data) + self.assertEqual(migrated_data["sources"][0]["type"], "NCBISequenceSource") + self.assertEqual(migrated_data["sources"][0]["repository_id"], "X60065.1") + self.assertNotIn("repository_name", migrated_data["sources"][0]) + self.assertIsNone(migrated_data["sources"][0]["coordinates"]) + + with open(os.path.join(test_folder, "migration/v0.4.9/repository_addgene.json"), "r") as f: + data = json.load(f) + self.assertIn("repository_id", data["sources"][0]) + self.assertIn("repository_name", data["sources"][0]) + migrated_data = migrate(data, "0.4.9") + # Passes the validation + new_CloningStrategy(**migrated_data) + self.assertEqual(migrated_data["sources"][0]["type"], "AddgeneIdSource") + self.assertEqual(migrated_data["sources"][0]["repository_id"], "39296") + self.assertNotIn("repository_name", migrated_data["sources"][0]) + self.assertNotIn("coordinates", migrated_data["sources"][0]) + + def test_0_4_6_to_0_4_9_GenomeCoordinatesSource(self): + from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.9/genome_coordinates.json"), "r") as f: + data = json.load(f) + self.assertIn("strand", data["sources"][0]) + self.assertIn("start", data["sources"][0]) + self.assertIn("end", data["sources"][0]) + self.assertIn("strand", data["sources"][1]) + self.assertIn("start", data["sources"][1]) + self.assertIn("end", data["sources"][1]) + migrated_data = migrate(data, "0.4.9") + # Passes the validation + new_CloningStrategy(**migrated_data) + for i in range(2): + location = "complement(1877189..1877289)" if i == 1 else "1877189..1877289" + gene_id = 123 if i == 0 else 456 + locus_tag = "blah" if i == 0 else "blah2" + self.assertEqual(migrated_data["sources"][i]["type"], "GenomeCoordinatesSource") + self.assertEqual(migrated_data["sources"][i]["coordinates"], location) + self.assertEqual(migrated_data["sources"][i]["repository_id"], "NC_003424.3") + self.assertNotIn("repository_name", migrated_data["sources"][i]) + self.assertEqual(migrated_data["sources"][i]["assembly_accession"], "GCF_000002945.2") + self.assertEqual(migrated_data["sources"][i]["locus_tag"], locus_tag) + self.assertEqual(migrated_data["sources"][i]["gene_id"], gene_id) + + def test_0_4_6_to_0_4_9_CollectionSource(self): + from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.9/collection.json"), "r") as f: + data = json.load(f) + migrated_data = migrate(data, "0.4.9") + # Passes the validation + new_CloningStrategy(**migrated_data) + self.assertEqual(migrated_data["sources"][0]["type"], "CollectionSource") + for i in range(2): + self.assertEqual(migrated_data["sources"][0]["options"][i]["source"]["type"], "AddgeneIdSource") + self.assertNotIn("repository_name", migrated_data["sources"][0]["options"][i]["source"]) + def test_migration_script(self): with tempfile.TemporaryDirectory() as tmp_dir: diff --git a/tests/test_validation.py b/tests/test_validation.py new file mode 100644 index 0000000..0952c78 --- /dev/null +++ b/tests/test_validation.py @@ -0,0 +1,47 @@ +"""Test validators.""" + +import unittest +from pydantic import ValidationError + +from opencloning_linkml.datamodel import ManuallyTypedSequence + + +class TestValidation(unittest.TestCase): + """Test validators.""" + + # Test cases: (crick_overhang, watson_overhang, circular, should_raise_error) + test_cases = [ + # Valid cases + (0, 0, True, False), + (0, 0, False, False), + (2, 3, False, False), + (None, None, False, False), + # Invalid cases - circular with non-zero overhangs + (2, 0, True, True), + (0, 3, True, True), + (2, 3, True, True), + (0, 0, True, False), + (0, None, True, False), + (None, None, True, False), + ] + + def test_circular_overhangs_validation(self): + """Test that circular sequences must have zero overhangs.""" + for crick, watson, circular, should_raise in self.test_cases: + print(crick, watson, circular, should_raise) + + kwargs = { + "id": 1, + "sequence": "ATCGATCG", + "circular": circular, + } + if crick is not None: + kwargs["overhang_crick_3prime"] = crick + if watson is not None: + kwargs["overhang_watson_3prime"] = watson + + if should_raise: + with self.assertRaises(ValidationError): + ManuallyTypedSequence(**kwargs) + else: + ManuallyTypedSequence(**kwargs)