Skip to content

Convenience REST API

nickjpearce edited this page Apr 24, 2017 · 12 revisions

Convenience Create Methods

/data/post/create/conveniencePart

Used to create a Part consisting of a BioDesign and Part. Optionally, may also create a Sequence, Feature, BasicModule, Parameters, and an Annotation.

Upon success, the request will return the ID of the Part's BioDesign, which can be used to retrieve/query for all sub-objects.

curl -k -X POST -H "Content-Type: application/json" -d "{'username':'mardian','objectName':'p001','sequence':'ATGACTGCTACTAGCGACAAAGTACTAAAGATTCAATTGCGCTCAGCAAGCGCTACTGTACCTACCAAAGGTTCTGCCACTGCCGCGGGATACGACATTTATGCATCTCAGGATATTACCATTCCGGCTATGGGTCAAGGTATGGTTTCCACCGACATATCGTTCACCGTACCTGTTGGTACCTACGGTCGTATTGCGCCAAGGTCAGGCCTGGCAGTGAAAAACGGTATCCAAACCGGTGCTGGTGTTGTCGACAGAGATTACACCGGTGAAGTTAAAGTAGTTTTATTCAATCATTCACAGAGGGATTTCGCGATCAAAAAAGGTGATCGCGTAGCCCAATTGATTCTGGAAAAAATTGTCGATGATGCCCAGATCGTTGTTGTAGACTCTCTGGAAGAAAGTGCAAGAGGGGCCGGTGGCTTTGGTAGCACTGGTAACTAA','role':'CDS','params’:[]}" https://localhost:8443/data/post/create/conveniencePart

Body

{
    'username':'string',
    'objectName':'string',
    'displayID':'string',
    'sequence':'string',
    'role':'string',
    'params':[
    	{
            'name':'string',
            'value':'double',
            'variable':'string',
            'units':'string'
        },
        ...
    ]

}
Field Optional Description
username Required User or author creating the part
objectName Required Name of the part being created. For every object created for the Part, they will share this name (BioDesign, Part, Sequence, etc).
displayID Optional A human-friendly ID, can be used to differentiate between similarly named objects. Attached to all created sub-objects
sequence Optional (Required if role is used) DNA sequence associated with the Part being created.
role Optional (Required if sequence is used) The role of the part or sequence being created.
params Optional An array of Parameter objects to be associated with the Part. Each parameter is defined by 4 fields: name, value, variable, and units

Example Bodys:

https://localhost:8443/data/post/create/conveniencePart

{
   'username':'mardian',
   'objectName':'p001',
   'sequence':'ATGACTGCTACTAGCGACAAAGTACTAAAGATTCAATTGCGCTCAGCAAGCGCTACTGTACCTACCAAAGGTTCTGCCACTGCCGCGGGATACGACATTTATGCATCTCAGGATATTACCATTCCGGCTATGGGTCAAGGTATGGTTTCCACCGACATATCGTTCACCGTACCTGTTGGTACCTACGGTCGTATTGCGCCAAGGTCAGGCCTGGCAGTGAAAAACGGTATCCAAACCGGTGCTGGTGTTGTCGACAGAGATTACACCGGTGAAGTTAAAGTAGTTTTATTCAATCATTCACAGAGGGATTTCGCGATCAAAAAAGGTGATCGCGTAGCCCAATTGATTCTGGAAAAAATTGTCGATGATGCCCAGATCGTTGTTGTAGACTCTCTGGAAGAAAGTGCAAGAGGGGCCGGTGGCTTTGGTAGCACTGGTAACTAA',
   'role':'CDS',
   'params':[

   ]
}
{
    'username':'djtran',
    'objectName':'YFP',
    'sequence':'atggtgagcaagggcgaggagctgttcaccggggtggtgcccatcctggtcgagctggacggcgacgtaaacggccacaagttcagcgtgtccggcgagggcgagggcgatgccacctacggcaagctgaccctgaagttcatctgcaccacaggcaagctgcccgtgccctggcccaccctcgtgaccaccttcggctacggcctgcaatgcttcgcccgctaccccgaccacatgaagctgcacgacttcttcaagtccgccatgcccgaaggctacgtccaggagcgcaccatcttcttcaaggacgacggcaactacaagacccgcgccgaggtgaagttcgagggcgacaccctggtgaaccgcatcgagctgaagggcatcgacttcaaggaggacggcaacatcctggggcacaagctggagtacaactacaacagccacaacgtctatatcatggccgacaagcagaagaacggcatcaaggtgaacttcaagatccgccacaacatcgaggacggcagcgtgcagctcgccgaccactaccagcagaacaccccaatcggcgacggccccgtgctgctgcccgacaaccactaccttagctaccagtccgccctgagcaaagaccccaacgagaagcgcgatcacatggtcctgctggagttcgtgaccgccgccgggatcactctcggcatggacgagctgtacaagtaa',
    'role':'CDS',
    'params':[
    	{
            'name':'YFP Degradation Rate',
            'value':'0.075',
            'variable':'rate',
            'units':'second-1',
        }
    ]
}

/data/post/create/convenienceDevice

Used to create a Device consisting of a BioDesign, Part, and Assembly. Optionally, may also create a Sequence, Feature, BasicModule, Parameters, and Annotations. The array of supplied Part IDs are linked to the BioDesign as sub-designs, to the Assembly, and Annotations may be created if those parts are found within the Sequence of the Device.

Upon success, the request will return the ID of the Part's BioDesign, which can be used to retrieve/query for all sub-objects.

curl -k -X POST -H "Content-Type: application/json" -d "{'username':'djtran','objectName':'Lacl Sensor','sequence':'aacgatcgttggctgtgttgacaattaatcatcggctcgtataatgtgtggaattgtgagcgctcacaattatggtgagcaagggcgaggagctgttcaccggggtggtgcccatcctggtcgagctggacggcgacgtaaacggccacaagttcagcgtgtccggcgagggcgagggcgatgccacctacggcaagctgaccctgaagttcatctgcaccacaggcaagctgcccgtgccctggcccaccctcgtgaccaccttcggctacggcctgcaatgcttcgcccgctaccccgaccacatgaagctgcacgacttcttcaagtccgccatgcccgaaggctacgtccaggagcgcaccatcttcttcaaggacgacggcaactacaagacccgcgccgaggtgaagttcgagggcgacaccctggtgaaccgcatcgagctgaagggcatcgacttcaaggaggacggcaacatcctggggcacaagctggagtacaactacaacagccacaacgtctatatcatggccgacaagcagaagaacggcatcaaggtgaacttcaagatccgccacaacatcgaggacggcagcgtgcagctcgccgaccactaccagcagaacaccccaatcggcgacggccccgtgctgctgcccgacaaccactaccttagctaccagtccgccctgagcaaagaccccaacgagaagcgcgatcacatggtcctgctggagttcgtgaccgccgccgggatcactctcggcatggacgagctgtacaagtaa','role':'PROMOTER','params':[{'name':'Lacl-GFP Sensitivity','value':'0.1','variable':'sensitivity','units':''}],'createSeqFromParts':'false','partIDs':'58f41f1a8aec4c36909b0730,58f41f1b8aec4c36909b0734,58f41f1b8aec4c36909b073e'}" https://localhost:8443/data/post/create/convenienceDevice

Body

{
    'username':'string',
    'objectName':'string',
    'displayID':'string',
    'sequence':'string',
    'role':'string',
    'params':[
    	{
            'name':'string',
            'value':'double',
            'variable':'string',
            'units':'string'
        },
        ...
    ],
    'createSeqFromParts': 'false',
    'partIDs': 'string'
}
Field Optional Description
username Required User or author creating the part
objectName Required Name of the part being created. For every object created for the Part, they will share this name (BioDesign, Part, Sequence, etc).
createSeqFromParts Required If no sequence provided, true will cause the sequence to be created from the sequences of each part provided.
displayID Optional A human-friendly ID, can be used to differentiate between similarly named objects. Attached to all created sub-objects
sequence Optional (Required if role is used) DNA sequence associated with the Part being created.
role Optional (Required if sequence is used) The role of the part or sequence being created.
params Optional An array of Parameter objects to be associated with the Part. Each parameter is defined by 4 fields: name, value, variable, and units
partIDs Optional String consisting of part IDs delimited by commas. Example: '58f41f1a8aec4c36909b0730, 58f41f1b8aec4c36909b0734, 58f41f1b8aec4c36909b073e'

Example Bodys:

https://localhost:8443/data/post/create/convenienceDevice

{
  'username': 'djtran',
  'objectName': 'Lacl Sensor',
  'sequence': 'aacgatcgttggctgtgttgacaattaatcatcggctcgtataatgtgtggaattgtgagcgctcacaattatggtgagcaagggcgaggagctgttcaccggggtggtgcccatcctggtcgagctggacggcgacgtaaacggccacaagttcagcgtgtccggcgagggcgagggcgatgccacctacggcaagctgaccctgaagttcatctgcaccacaggcaagctgcccgtgccctggcccaccctcgtgaccaccttcggctacggcctgcaatgcttcgcccgctaccccgaccacatgaagctgcacgacttcttcaagtccgccatgcccgaaggctacgtccaggagcgcaccatcttcttcaaggacgacggcaactacaagacccgcgccgaggtgaagttcgagggcgacaccctggtgaaccgcatcgagctgaagggcatcgacttcaaggaggacggcaacatcctggggcacaagctggagtacaactacaacagccacaacgtctatatcatggccgacaagcagaagaacggcatcaaggtgaacttcaagatccgccacaacatcgaggacggcagcgtgcagctcgccgaccactaccagcagaacaccccaatcggcgacggccccgtgctgctgcccgacaaccactaccttagctaccagtccgccctgagcaaagaccccaacgagaagcgcgatcacatggtcctgctggagttcgtgaccgccgccgggatcactctcggcatggacgagctgtacaagtaa',
  'role': 'PROMOTER',
  'params': [
    {
      'name': 'Lacl-GFP Sensitivity',
      'value': '0.1',
      'variable': 'sensitivity',
      'units': ''
    }
  ],
  'createSeqFromParts': 'false',
  'partIDs': '58f41f1a8aec4c36909b0730, 58f41f1b8aec4c36909b0734, 58f41f1b8aec4c36909b073e'
}

/data/post/get/conveniencePart

curl -k -X GET -H "Content-Type: application/json" -d "{'username':'djtran','objectName':'YFP','sequence':'atggtgagcaagggcgaggagctgttcaccggggtggtgcccatcctggtcgagctggacggcgacgtaaacggccacaagttcagcgtgtccggcgagggcgagggcgatgccacctacggcaagctgaccctgaagttcatctgcaccacaggcaagctgcccgtgccctggcccaccctcgtgaccaccttcggctacggcctgcaatgcttcgcccgctaccccgaccacatgaagctgcacgacttcttcaagtccgccatgcccgaaggctacgtccaggagcgcaccatcttcttcaaggacgacggcaactacaagacccgcgccgaggtgaagttcgagggcgacaccctggtgaaccgcatcgagctgaagggcatcgacttcaaggaggacggcaacatcctggggcacaagctggagtacaactacaacagccacaacgtctatatcatggccgacaagcagaagaacggcatcaaggtgaacttcaagatccgccacaacatcgaggacggcagcgtgcagctcgccgaccactaccagcagaacaccccaatcggcgacggccccgtgctgctgcccgacaaccactaccttagctaccagtccgccctgagcaaagaccccaacgagaagcgcgatcacatggtcctgctggagttcgtgaccgccgccgggatcactctcggcatggacgagctgtacaagtaa','role':'CDS','params':[{'name':'YFP Degradation Rate','value':'0.075','variable':'rate','units':'second-1',}]}" https://localhost:8443/data/post/get/conveniencePart

Body

{
    'username':'string',
    'objectName':'string',
    'displayID':'string',
    'sequence':'string',
    'role':'string',
    'params':[
    	{
            'name':'string',
            'value':'double',
            'variable':'string',
            'units':'string'
        },
        ...
    ],
}
Field Optional Description
objectName Optional The name of the Part, a substring of the name, or any regex string to search for the name.
displayID Optional The displayID of the Part, a substring, or any regex match
sequence Optional DNA sequence associated with the Part being created.
role Optional The role of the part or sequence being created.
params Optional An array of Parameter objects to be associated with the Part. Each parameter is defined by 4 fields: name, value, variable, and units

Example Body

https://localhost:8443/data/post/get/conveniencePart

{
    'username': 'djtran',
    'objectName': 'YFP',
    'sequence': 'atggtgagcaagggcgaggagctgttcaccggggtggtgcccatcctggtcgagctggacggcgacgtaaacggccacaagttcagcgtgtccggcgagggcgagggcgatgccacctacggcaagctgaccctgaagttcatctgcaccacaggcaagctgcccgtgccctggcccaccctcgtgaccaccttcggctacggcctgcaatgcttcgcccgctaccccgaccacatgaagctgcacgacttcttcaagtccgccatgcccgaaggctacgtccaggagcgcaccatcttcttcaaggacgacggcaactacaagacccgcgccgaggtgaagttcgagggcgacaccctggtgaaccgcatcgagctgaagggcatcgacttcaaggaggacggcaacatcctggggcacaagctggagtacaactacaacagccacaacgtctatatcatggccgacaagcagaagaacggcatcaaggtgaacttcaagatccgccacaacatcgaggacggcagcgtgcagctcgccgaccactaccagcagaacaccccaatcggcgacggccccgtgctgctgcccgacaaccactaccttagctaccagtccgccctgagcaaagaccccaacgagaagcgcgatcacatggtcctgctggagttcgtgaccgccgccgggatcactctcggcatggacgagctgtacaagtaa',
    'role': 'CDS',
    'params': [
    	{
            'name': 'YFP Degradation Rate',
            'value': '0.075',
            'variable': 'rate',
            'units': 'second-1',
        }
    ]
}

/data/post/get/convenienceDevice

curl -k -X GET -H "Content-Type: application/json" -d "{‘username':'djtran','objectName':'Lacl Sensor','sequence':'aacgatcgttggctgtgttgacaattaatcatcggctcgtataatgtgtggaattgtgagcgctcacaattatggtgagcaagggcgaggagctgttcaccggggtggtgcccatcctggtcgagctggacggcgacgtaaacggccacaagttcagcgtgtccggcgagggcgagggcgatgccacctacggcaagctgaccctgaagttcatctgcaccacaggcaagctgcccgtgccctggcccaccctcgtgaccaccttcggctacggcctgcaatgcttcgcccgctaccccgaccacatgaagctgcacgacttcttcaagtccgccatgcccgaaggctacgtccaggagcgcaccatcttcttcaaggacgacggcaactacaagacccgcgccgaggtgaagttcgagggcgacaccctggtgaaccgcatcgagctgaagggcatcgacttcaaggaggacggcaacatcctggggcacaagctggagtacaactacaacagccacaacgtctatatcatggccgacaagcagaagaacggcatcaaggtgaacttcaagatccgccacaacatcgaggacggcagcgtgcagctcgccgaccactaccagcagaacaccccaatcggcgacggccccgtgctgctgcccgacaaccactaccttagctaccagtccgccctgagcaaagaccccaacgagaagcgcgatcacatggtcctgctggagttcgtgaccgccgccgggatcactctcggcatggacgagctgtacaagtaa','role':'PROMOTER',’params':[{'name':'Lacl-GFP Sensitivity','value':'0.1','variable':'sensitivity','units':''}],'parts':[{'name':'p730'},{'name':'p734'},{'name':'p73e'}]}" https://localhost:8443/data/post/get/convenienceDevice

Body

{
    'username':'string',
    'objectName':'string',
    'displayID':'string',
    'sequence':'string',
    'role':'string',
    'params':[
    	{
            'name':'string',
            'value':'double',
            'variable':'string',
            'units':'string'
        },
        ...
    ],
    'parts': [
    	{
            'name':'string',
            'description':'double'
        },
        ...
    ]
}
Field Optional Description
objectName Optional The name of the Device, a substring of the name, or any regex string to search for the name.
displayID Optional The displayID of the Device, a substring, or any regex match.
sequence Optional The sequence of the Device, a substring, or any regex match.
role Optional The role of the Device, a substring, or any regex match.
parts Optional A list containing Part objects that must be included as sub-Parts in the Parts returned. Note that the Part objects do not need to have the same Id as the corresponding object attached to the Device, the only requirement is that all the fields match, are a substring, or are a regex match.
params Optional An array of Parameter objects that are associated with the Device. Each parameter is defined by 4 fields: name, value, variable, and units.

Example Body

https://localhost:8443/data/post/get/convenienceDevice

{
  'username': 'djtran',
  'objectName': 'Lacl Sensor',
  'sequence': 'aacgatcgttggctgtgttgacaattaatcatcggctcgtataatgtgtggaattgtgagcgctcacaattatggtgagcaagggcgaggagctgttcaccggggtggtgcccatcctggtcgagctggacggcgacgtaaacggccacaagttcagcgtgtccggcgagggcgagggcgatgccacctacggcaagctgaccctgaagttcatctgcaccacaggcaagctgcccgtgccctggcccaccctcgtgaccaccttcggctacggcctgcaatgcttcgcccgctaccccgaccacatgaagctgcacgacttcttcaagtccgccatgcccgaaggctacgtccaggagcgcaccatcttcttcaaggacgacggcaactacaagacccgcgccgaggtgaagttcgagggcgacaccctggtgaaccgcatcgagctgaagggcatcgacttcaaggaggacggcaacatcctggggcacaagctggagtacaactacaacagccacaacgtctatatcatggccgacaagcagaagaacggcatcaaggtgaacttcaagatccgccacaacatcgaggacggcagcgtgcagctcgccgaccactaccagcagaacaccccaatcggcgacggccccgtgctgctgcccgacaaccactaccttagctaccagtccgccctgagcaaagaccccaacgagaagcgcgatcacatggtcctgctggagttcgtgaccgccgccgggatcactctcggcatggacgagctgtacaagtaa',
  'role': 'PROMOTER',
  'params': [
    {
      'name': 'Lacl-GFP Sensitivity',
      'value': '0.1',
      'variable': 'sensitivity',
      'units': ''
    }
  ],
  'parts': [
    {
      'name': 'p730'
    },
    {
      'name': 'p734'
    },
    {
      'name': 'p73e'
    }
  ]
}
Clone this wiki locally