API参考

BaseSpace API是一组REST服务端点,用于回答对资源的查询并以JSON格式返回响应。本页描述了V1 API;有关V2 API的信息,请参见V2 API参考

无论应用程序是请求单个资源还是资源集合,API都遵循不同的模式。

OAuth过程

在应用程序可以访问用户的数据之前,用户必须授权应用程序访问。这是通过使用OAuth 2.0流程来完成的。应用程序可以通过两种方式启动:

  • 从应用商店或没有上下文
  • 从一个项目,样本,或AppResult,这被称为应用程序触发

当应用程序被上下文触发时,它将使用应用程序触发指南。如果它随后需要对用户数据进行更多访问,则需要通过获取访问令牌步骤来获得新的访问令牌authorization_code用一个新的范围

应用程序也可能在没有上下文的情况下启动,在这种情况下,它需要首先将用户重定向到具有所需访问权限的OAuth对话框范围在用户授予访问权限后,应用程序将收到authorization_code作为重定向中的url参数。

authorization_code然后换成一个access_token,这access_token与每个API请求一起传递。

关于这些过程的更多信息可以在获取访问令牌而且应用程序触发本网站的部分内容。

使用访问令牌

使用access_token您代表该用户向API发出的每个请求都与该用户关联。

我们允许使用三种技术来包含access_token在您的请求中:

  • 在头文件中x-access-token
  • 在头文件中授权.该值必须为:不记名{access_token}(持有者和代码之间有空格)。
  • 使用查询参数access_token

确保您没有发送BaseSpace会话cookieIComLogin与请求时使用access_token

请注意:访问令牌不自动过期。

URI的格式

BaseSpace API在资源URI中编码API的版本。这保证了给定的API将始终具有相同的行为,即使我们引入新的API。例子:

/ v1pre3 /用户/电流

此路径指API版本v1pre3

个别资源请求

对单个资源的请求通常将资源标识符(Id)或其他参数编码为花括号内资源路径的一部分{}.例如,

/ v1pre3 /项目/ {Id}

这将按Id请求关于单个项目的信息。请记住,尽管有些Id会显示为数字,但要将它们视为不透明字符串。

资源收集请求

对集合的请求在最后一个位置不包含资源标识符,但可能包含更早的位置。例如:

/ v1pre3 /项目/ {Id} /样品

返回指定项目中的示例列表,其中:

/ v1pre3 /用户/ {Id} /项目

返回用户可访问的所有项目的列表。

对于返回集合的请求,这些查询参数是常见的:

  • 抵消:要读取的集合的起始点,Offset没有最大值。默认值:0

  • 限制:返回的最大条目数。如果服务器减小了请求大小,则此值可能小于请求。默认值:10范围:0-1024的隐式范围限制文件资源为0-1000

  • SortDir:对结果集合进行升序或降序排序的方法。默认值:'Asc',可以是'Asc'或'Desc'

  • SortBy:用于对结果集合排序的字段。根据结果类型,这个值可以有多种可能性

除非另有说明,响应也将包含以下字段:

  • DisplayedCount:返回的项数
  • TotalCount:集合中项目的总数

常见响应要素

这些包含在所有响应类型中。除了资源收集请求如果适用。

  • 响应—主响应对象

    • 项目:如果返回一个列表,它就包含在这个响应元素中
    • Id:资源Id
    • 的名字:所选资源的名称
    • Href:资源在API中的位置
    • DateCreated:创建该资源的时间
    • UserOwnedBy:拥有该资源的用户信息
    • 状态:资源的状态,如果它在appsession中,它就是appsession的状态
    • HrefBaseSpaceUI:该资源在BaseSpace用户界面中的位置
    • 属性:该资源的属性。有些属性是BaseSpace中的标准属性,有些是用户或应用程序创建的自定义属性。
  • ResponseStatus-响应代码为200的响应为空。对于错误情况,包含人类可读的错误描述。关于错误案例的文档还不完整。

  • 通知-通知数组。关于此元素的文档不完整。

可用的权限

  • 浏览-能够查看资源元数据,但不能下载或更改任何内容
  • -读取或下载此资源的能力。在大多数情况下浏览包含在
  • 创建-添加到此资源的能力。
  • -添加或更改此资源的能力。在大多数情况下浏览而且都包含在

有关可用权限的详细信息,请参阅BaseSpace权限

API速率限制

对某些API端点可以发出多少请求有一些限制。

所有符合API速率限制规则的API响应都将以API响应的自定义标头的形式包含使用和限制信息。如果请求不匹配任何速率限制规则,则响应中不包括报头。

需要注意的是,速率限制信息只应用于匹配指定的限制规则/策略的API请求,而不是全局应用,因为不同的API请求可能有不同的速率限制。

现在在每个API端点的响应中提供了以下报头,这些报头受速率限制。这些限制绑定到每个用户,从用于发出请求的访问令牌中找到用户。

标题名称 描述
X-RateLimit-Policy 应用于此API请求的策略/规则的名称
X-RateLimit-Limit 对于适用的策略,限制用户在使用前允许在当前速率限制窗口中发出的最大请求数
X-RateLimit-Remaining 当前速率限制窗口中剩余的请求数
X-RateLimit-Reset 重置此策略的速率限制使用的UTC日期/时间
X-Retry-After 这包括在请求被拒绝时。它将返回客户端在重试此请求之前应该等待的秒数

如果API请求超过速率限制,响应将返回一个带有状态码的错误429(请求太多).这些限制是每天的。


API资源和方法

下面几节将介绍BaseSpace API支持的资源。通过每个请求的示例输出说明了使用方法。

OAuthv2令牌

OAuthv2令牌是access_token这一authorization_code在用户授予应用程序对数据的权限后交换。详情请参阅获取访问令牌有关这些授权方法的详细信息。

得到:oauthv2 /令牌/电流

此请求必须使用access_token和用于查看上述调用中指定的访问令牌的当前权限。

查询参数

  • access_token:应用程序在调用用户数据时传递的令牌。响应将包含绑定到指定对象的权限access_token

的详细信息access_token与Idc0d5d22251c2461d891813a3378f7de2,我们可以使用以下请求:

GET http://api.basespace.illumina.com/v1pre3/oauthv2/token/current?access_token={token} {"Response": {"AccessToken": "{token}", "Application": {"Id": "565566", "Href": "v1pre3/applications/565566", "Name": "Example App", "ShortDescription": "ShortDescription", "DateCreated": "2014-05-06T23:41:43.0000000", "IsBillingActivated": false}, "UserResourceOwner": {"Email": "johndoe@gmail.com", "DateLastActive": "2014-07-28T22:38:06.0000000", "DateCreated": "DateCreated": "2014-07-28 t22: " 38:06.0000000", "DateCreated": ""2012-08-14T18:44:45.0000000", "HrefRuns": "v1pre3/users/123/runs", "HrefProjects": "v1pre3/users/123/projects", "Id": "569571", "Href": "v1pre3/users/123", "Name": "John Doe", "GravatarUrl": "https://secure.gravatar.com/avatar/300fb1f0db0919def56fdbe4f1a19525.jpg?s=20&d=https%3a%2f%2fbasespace.illumina.com%2fpublic%2fimages%2fDefaultCustomerGravatar.png&r=PG"}, "Status": "ACTIVE", "DateCreated": "2014-05-06T23:41:43.0000000", "作用域":["CREATE GLOBAL", "BROWSE GLOBAL", "CREATE PROJECTS", "READ PROJECT 2"]}, "ResponseStatus": {}, "Notifications": []}

职位:oauthv2 /令牌

此请求必须通过您的client_id而且client_secret.您可以提供通过标准编码的这些凭证授权头部或主体(但不是两者)。

请求应该具有标准的内容类型应用程序/ x-www-form-urlencoded用于表单post。

响应的元素

  • access_token:应用程序在调用用户数据时传递的令牌

查询参数

  • 代码(必需的):authorization_code从前面的步骤。
  • redirect_uri(必需的):您在前一步中提供的应用程序的redirect_uri。
  • grant_type(required):必须为该值authorization_code
  • client_id:如果没有使用Authorization头
  • client_secret:如果没有使用Authorization头

实例curl请求使用授权头的方法:

curl -v -u {YOUR CLIENT_ID}:{YOUR CLIENT_SECRET} \ -d "code={YOUR授权码}" \ -d "redirect_uri={YOUR redirect_uri}" \ -d "grant_type=authorization_code" \ https://api.basespace.illumina.com/v1pre3/oauthv2/token

回应:

HTTP/1.1 200 OK Content-Type: application/json日期:Wed, 07 Mar 2012 14:50:42 GMT Content-Length: 105 {"access_token":"{YOUR ACCESS TOKEN}"}

如果您得到一个状态码200响应,JSON文档将包含您的access_token.否则,响应将包含error_code和一个error_description帮你解决问题。

职位:oauthv2 / deviceauthorization

此请求是非基于web的应用程序的授权流程。详情请参阅获取访问令牌有关此授权方法的详细信息。

响应的元素

  • verification_uri:该URI将显示给执行访问授权的用户。在那里,用户将输入user_code。

  • verification_with_code_uri:如果你的应用程序能够自动打开一个浏览器窗口,这个URI可以被使用。它与上面相同,只是它消除了用户输入代码的需要。

  • user_code:这段代码可以让用户手动输入上面的verification_uri。

  • expires_in:这是整个流程必须完成的时间(以秒为单位)。

  • device_code:此代码用于检索access_token的下一步。没有必要与用户共享这些信息。

  • 时间间隔:这是下一步轮询请求之间的最小暂停时间。

查询参数

  • client_id(必选):可在应用管理界面查看
  • response_type(required):必须为device_code
  • 范围(可选):被请求的权限和资源的集合。请参考BaseSpace权限。

示例curl请求:

curl -v \ -X POST \ -d "response_type=device_code" \ -d "client_id={YOUR CLIENT ID}" \ -d "scope=browse global" \ https://api.basespace.illumina.com/v1pre3/oauthv2/deviceauthorization

回应:

HTTP/1.1 200 OK Content-Type: application/json日期:Thu, 28 Jun 2012 14:52:37 GMT Content-Length: 250 {"verification_uri":"https://basespace.illumina.com/oauth/device", "verification_with_code_uri":"https://basespace.illumina.com/oauth/device?code=b9bac", "user_code":"b9bac", "expires_in":1800, "device_code":"dd0e45ebc98c440cb8e369a85be0344a", "interval":1}

然后使用职位:oauthv2 /令牌方法来交换device_codeaccess_token

用户

提供User资源,以便应用程序可以获得有关正在使用该应用程序的用户的基本信息。

响应的元素除了常见响应要素不包括属性

  • 电子邮件:当前用户的邮箱地址
  • HrefRuns:用户拥有或具有访问权限的运行
  • HrefProjects:用户拥有或访问的项目

得到:用户/电流

GET https://api.basespace.illumina.com/v1pre3/users/current {"Response":{"Email":"jdoe@domain.com", "GravatarUrl": "https://secure.gravatar.com/avatar.....", "DateLastActive":"2012-03-20T19:57:56.0000000", "DateCreated":"2011-12-17T00:50:29.0000000", "HrefRuns":"v1pre3/users/1001/runs", "HrefProjects":"v1pre3/users/1001/projects", "Id":"1001", "Href":"v1pre3/users/1001", "Name":"John Doe"}, "ResponseStatus":{}, "Notifications":[]}

运行

在测序仪上处理流单元会产生各种文件,这些文件统称为运行文件。运行包含日志文件、仪器运行状况数据、运行指标以及基本调用和二级分析中使用的其他信息。

响应的元素除了常见响应要素

  • HrefFiles:运行文件在API中的位置
  • HrefSamples:运行样本在API中的位置
  • UserUploadedBy:上传运行的用户信息
  • DateUploadCompleted:上传完成的日期
  • DateUploadStarted:开始上传的日期
  • ExperimentName:实验的名称,由上传运行的用户设置
  • 状态:运行状态

得到:运行/ {Id}

根据Id检索特定的运行

权限

  • 浏览访问运行

使用Id检索运行1019

GET https://api.basespace.illumina.com/v1pre3/runs/1019 {"Response": {"Name": "110512_COnfig376vm0a_0432_AFCPE151RHO", "Number": 0, "HrefFiles": "v1pre3/runs/1019/files", "HrefSamples": "v1pre3/runs/1019/samples", " useruploadeby ": {"Id": "1003", "Href": "v1pre3/users/1003", "Name": "Jane Doe"}, "UserOwnedBy": {"Id": "1003", "Href": "v1pre3/users/1003", "Name": "Jane Doe"}, "DateUploadCompleted": "2011-11-11T03:30:10.0000000", "DateUploadStarted":"2011-11-11T03:04:58.0000000", "HrefBaseSpaceUI": "https://basespace.illumina.com/run/1019/2X151 Rhodobacter Resequencing", "Id": "1019", "Href": "v1pre3/runs/1019", "ExperimentName": "2X151 Rhodobacter Resequencing", "Status": "Complete", "DateCreated": "2011-11-11T02:56:38.0000000"}, "ResponseStatus": {}, "Notifications": []}

得到:用户/电流/运行

检索用户当前用户可访问的运行列表

权限

  • 浏览访问当前用户具有访问权限的运行

查询参数除了资源收集请求

  • SortBy:根据给定字段对结果进行排序。可能的值:IdDateCreated.默认值:Id
  • 状态:可选的运行状态过滤。多个值可以用逗号分隔,例如:状态=运行,完成.默认值:不过滤。可能的值包括:

    • 运行:该状态在仪器运行时处于激活状态。
    • 停顿了一下:当仪器暂停运行时,此状态为活动状态。
    • 停止:当仪器停止运行时,此状态为激活状态。
    • 上传:当仪器运行完成,但文件仍在上传时,此状态处于激活状态。
    • PendingAnalysis:该状态在文件上传完成后,AppResult启动之前处于激活状态。
    • 分析:分析运行时,此状态为活动状态。
    • 完整的:这是分析成功后的状态。
    • 失败的: AppResult失败后的状态。
    • NeedsAttention:当样本表验证失败时,run/appresult处于此状态。样本表验证发生在样本表上传之后。

检索当前用户可用的所有已完成运行的列表,按Id升序排序,限制为10和的偏移量0

GET https://api.basespace.illumina.com/v1pre3/users/174174/runs?Statuses=complete&SortBy=Id&Offset=0&Limit=10&SortDir=Asc {"Response": {"Items": [{"Id": "1019", "Href": "v1pre3/runs/1019", "ExperimentName": "2X151 Rhodobacter Resequencing", "Status": "Complete", "DateCreated": "2011-11-11T02:56:38.0000000"}, {"Id": "1021", "Href": "v1pre3/runs/1021", "ExperimentName": "2x26 Validation Human 4-Plex", "Status": "Complete", "DateCreated": "DateCreated": "DateCreated": " state ": "Complete", "DateCreated": "DateCreated": ""2011-11-11T02:56:48.0000000"}], "SortBy":"Id", "DisplayedCount":2, "TotalCount":2, "Offset":0, "Limit":10, "SortDir":"Asc"}, "ResponseStatus":{}, "Notifications":[]}

删除:运行/ {id}

看到垃圾的api在垃圾Api部分

项目

项目是BaseSpace中的基本组织单元。用户可以创建项目,在项目中放置项,并与其他用户共享项目(及其内容)。

的集合样品而且AppResults

响应的元素除了常见响应要素

  • HrefSamples: href到这个项目内部的样本
  • HrefAppResults:这个项目的评估
  • TransferPending:一个布尔值,它决定是否正在传输项目。如果真正的时,工程项目已转让给另一用户,正等待该用户接受。一旦用户接受项目转让,他们将成为项目的新所有者。如果,该项目没有被转让。

得到:项目/ {Id}

通过Id检索特定的项目

权限

  • 浏览访问项目

访问项目Id的示例请求1

GET https://api.basespace.illumina.com/v1pre3/projects/1 {"Response": {"HrefSamples": "v1pre3/projects/1/samples", "HrefAppResults": "v1pre3/projects/1/appresults", "HrefBaseSpaceUI": "https://basespace.illumina.com/project/1/HiSeq 2500", "Id": "1", "UserOwnedBy": {"Id": "1001", "Href": "v1pre3/users/1001", "Name": "John Doe"}, "Href": "v1pre3/projects/1", "Name": "HiSeq 2500", "DateCreated": "2012-06-01T16:13:06.0000000"}, "ResponseStatus": {}, "Notifications": []}

得到:当前用户/ /项目

检索用户拥有或被邀请参加的项目列表

权限

  • 浏览访问项目,使其在此清单中可见

查询参数除了资源收集请求

  • SortBy:根据给定字段对结果进行排序。可能的值:Id的名字,或DateCreated.默认值:Id
  • 的名字:项目名称。此调用将为当前用户返回具有给定Name的Projects

检索当前用户可访问的项目列表,按Id升序排序,并且从列表的开头开始最多有2个结果:

GET https://api.basespace.illumina.com/v1pre3/users/current/projects?SortBy=Id&Offset=0&Limit=2&SortDir=Asc {"Response":{"Items":[{"Id":"52", "UserOwnedBy":{"Id":"74074", "Href":"v1pre3/users/1001", "Name":"John Doe"}, "Href":"v1pre3/projects/1", "Name":" johndoe "}, "Id":"53", "UserOwnedBy":{"Id":"74074", "Href":"v1pre3/users/1001", "Name":" johndoe "}, "Href":"v1pre3/projects/2", "Name":"FutureWork","DateCreated":"2012-06-03T16:13:06.0000000"}], "DisplayedCount":2, "TotalCount":15, "Offset":0, "Limit":2, "SortDir":"Asc", "SortBy":"Id"}, "ResponseStatus":{}, "Notifications":[]}

职位:项目

为当前用户创建一个项目。详情请参阅写回BaseSpace指南有关创建项目的详细信息。

权限

  • 创建项目对用户数据的访问

必需的参数

  • 的名字:项目名称

为用户创建一个新项目John Doe项目名称测试项目1使用cURL:

curl -v -H "x-access-token:{访问令牌}" \ -X POST \ -d "name=测试项目1" \ https://api.basespace.illumina.com/v1pre3/projects

响应将是201年创建使用新创建的项目,因为该名称的项目还不存在,其Id为125125

{"Response": {"HrefSamples": "v1pre3/projects/125125/samples", "HrefAppResults": "v1pre3/projects/125125/appresults", "HrefBaseSpaceUI": "https://basespace.illumina.com/project/125125/Test Project 1", "Id": "125125", "UserOwnedBy": {"Id": "1001", "Href": "v1pre3/users/1001", "Name": "John Doe"}, "Href": "v1pre3/projects/125125", "Name": "Test Project 1", "DateCreated": "2012-10-03T20:22:16.7838033Z"}, "ResponseStatus": {}, "Notifications": []}

如果用户已经有一个可以写入该名称的项目,则a200好了返回以下响应:

{"Response": {"HrefSamples": "v1pre3/projects/125125/samples", "HrefAppResults": "v1pre3/projects/125125/appresults", "HrefBaseSpaceUI": "https://basespace.illumina.com/project/125125/Test Project 1", "Id": "125125", "UserOwnedBy": {"Id": "1001", "Href": "v1pre3/users/1001", "Name": "John Doe"}, "Href": "v1pre3/projects/125125", "Name": "Test Project 1", "DateCreated": "2012-10-03T20:22:16.7838033Z"}, "ResponseStatus": {}, "Notifications": []}

删除:项目/ {id}

看到垃圾的api在垃圾Api部分

AppSessions

在一组样例、运行、文件、评估或项目上运行的应用程序实例。此资源提供有关应用程序状态的信息,该应用程序将在上述资源类型之一上工作。特定应用程序会话的id可以在AppResult或Sample中找到,或者在触发应用程序时分配。如果应用程序可以访问给定的Sample或apppresult,那么它也可以访问提供额外元数据的相关AppSession。应用程序将在API中看到每个Sample和AppResult的AppSession引用。

响应的元素除了常见响应要素

  • 参考文献: appsession引用的资源
    • 类型:启动appsession的资源类型
    • 内容:显示资源的内容,包括所有者信息
  • 状态: AppSession的状态,由它创建的Samples或AppResults将继承此属性。此参数为REQUIRED,否则将抛出错误。该状态可以由应用程序定期更改,但在某些情况下,BaseSpace将自动更改状态,这些场景将在下面描述。可能的状态包括:
    • 等待: AppSession的状态设置为等待当本地应用程序启动时自动启动。此状态仅适用于本机应用程序。BaseSpace需要花时间找到一台机器来运行分析,因此在作业启动之前,AppSession状态将保持等待
    • 运行: AppSession的状态用户已经接受OAuth对话框。初始状态为AwaitingAuthorization一旦用户给予应用程序权限,状态自动更改为运行
    • 完整的:处理和文件上传已经完成,现在可以使用数据了。
    • NeedsAttention:此状态表示在没有用户干预的情况下处理不能继续。一旦解决,状态可以回到运行完整的.可能会向用户发送通知,提醒他们注意这一点。
    • TimedOut: AppSession已经被运行超过48小时,就会进入这种状态。会议可以在此状态下恢复。
    • AwaitingAuthorization: AppSessions被放入AwaitingAuthorization在创建它们时声明。一旦用户点击接受在OAuth对话框中,AppSession的状态变为运行.有关更多信息,请参阅API参考。
    • 流产:通常这种状态只适用于本地应用程序。对于本地应用程序,在BaseSpace用户界面中,用户可以选择单击停止分析按钮。如果单击此按钮,本机应用程序将收到一条消息开始中止的过程。在应用程序完全停止并且运行它的机器关闭之前,AppSession的状态将为流产
    • 流产:此测试或样本已中止,可能无法恢复。不允许进一步更改状态。
  • StatusSummary:应用程序会话状态的摘要,应用程序可以定期更改
  • 应用程序:创建这个应用程序会话的应用程序,包括关于应用程序的信息
  • ParentAppSession:当使用多节点Native应用程序时,包含来自用户的所有输入表单数据的AppSession作为ParentAppSession存储在为特定节点生成的AppSession元数据中

得到:appsessions / {id}

根据应用程序的Id检索应用程序

权限

  • 浏览访问任何包含AppResults的appsession, clientid和clientsecret必须匹配appsession的应用程序

检索带有id的appsession9 d2cac1f2d908dbf82b9583e072f6b47

GET https://api.basespace.illumina.com/v1pre3/appsessions/0480cbb3c56135f3f2265f6437ceadf0 {"Response": {"References": [], "Id": "0480cbb3c56135f3f2265f6437ceadf0", "Href": "v1pre3/appsessions/0480cbb3c56135f3f2265f6437ceadf0", "UserCreatedBy": {"Id": "1001", "Href": "v1pre3/users/1001", "Name": "John Doe"}, "Status": "Complete", "StatusSummary": "" DateCreated": "2012-02-14 t07:00 . 52.0000000"}, "ResponseStatus": {}, "Notifications": []}

在这种情况下,“References”字段不会被填充,因为应用程序不是从BaseSpace触发的。如果它是从BaseSpace项目触发的76076,一个带有id的appsessiond840251ab9c441639a9b2f047ded51fd会有以下回应:

GET https://api.basespace.illumina.com/v1pre3/appsessions/d840251ab9c441639a9b2f047ded51fd {"Response": {"References": [{"Rel": "Input", "Type": "Project", "Href": "v1pre3/projects/76076", "HrefContent": "v1pre3/projects/76076", "Content": {"Id": "76076", "UserOwnedBy": {"Id": "74074", "Href": "v1pre3/users/74074", "Name": "BaseSpace Illumina"}, "Href": "v1pre3/projects/76076", "Name": "Project_BacillusCereus", " datecrecreated ": "2012-08-21T07:31:37.0000000"}}], "Id":"d840251ab9c441639a9b2f047ded51fd", "Href": "v1pre3/appsessions/d840251ab9c441639a9b2f047ded51fd", "应用程序":{"Id": "3003", "Href": "v1pre3/applications/3003", "名称":"BaseMaker 5000", "HomepageUri": "http://www.yourapphomepageuri.com/", "ShortDescription": "只是一个应用程序…","DateCreated": "2012-06-04T20:23:02.0000000"}, "UserCreatedBy": {"Id": "37037", "Href": "v1pre3/users/37037", "名字":"John Doe"}, "状态":"运行","StatusSummary": "" DateCreated": "DateCreated": "DateCreated": ""2012-09-04T08:44:38.0000000"}, "ResponseStatus": {}, "Notifications": []}

“Reference”字段由BaseSpace中的上下文填充,应用程序从其中启动。有关从BaseSpace启动应用程序的更多信息,请参见应用程序触发指南。

得到:用户/经常/ appsessions

当前用户的AppSessions列表。

权限

  • 用户的有效访问令牌。

查询参数

  • AppId:创建此AppSession的应用程序的Id
  • 状态:如果根据AppSession的状态对列表进行过滤,可以使用该查询参数

使用实例列出当前用户使用应用Id 75075创建的所有AppSessions。

得到http://api.basespace.illumina.com/v1pre3/users/current/appsessions?AppId=75075{回应:{物品:[{Id:“f4447f1619b6471cace779cb97fa2c75 Href:“v1pre3 / appsessions / f4447f1619b6471cace779cb97fa2c75”,应用程序:{Id:“75075”,Href:“v1pre3 /应用程序/ 75075”,名字:“霍斯测试购买应用程序”,HomepageUri:“http://google.com”,ShortDescription:“这是为了测试购买”,DateCreated:“2013 - 04 - 03 - t20:50:44.0000000”},UserCreatedBy: {Id:“17017”,Href:“v1pre3 /用户/ 17017”,名称:"John Doe", GravatarUrl: "gravatarurl.com"},状态:"TimedOut", StatusSummary: "", DateCreated: "2013-04-10T17:23:55.0000000"}, {Id: "29f1928e34f545669afa93b9e86b9c12", Href: "v1pre3/appsessions/29f1928e34f545669afa93b9e86b9c12",应用程序:{Id: "75075", Href: "v1pre3/applications/75075",名称:"hoth测试购买应用程序",homeepageuri: "http://google.com", ShortDescription: "这是用于测试购买",DateCreated: "2013-04-03T20:50:44.0000000"}, UserCreatedBy: {Id: "17017", Href: ""v1pre3/users/17017",名称:"John Doe", GravatarUrl: "gravatarurl.com"},状态:"TimedOut", StatusSummary: "", DateCreated: "2013-04-10T17:25:21.0000000"}, {Id: "83a55266de144e01adbc2397d60ef3c0", Href: "v1pre3/appsessions/83a55266de144e01adbc2397d60ef3c0",应用程序:{Id: "75075", Href: "v1pre3/applications/75075",名称:"hoth测试购买应用程序",HomepageUri: "http://google.com", ShortDescription: "这是用于测试购买",DateCreated: " 2013-04-10t17 ":"2013-04-03T20:50:44.0000000"}, UserCreatedBy: {Id: "17017", Href: "v1pre3/users/17017", Name: "John Doe", GravatarUrl: "gravatarurl.com"}, Status: "TimedOut", StatusSummary: "", DateCreated: "2013-04-23 t0:03:23.0000000"}], DisplayedCount: 10, TotalCount: 178, Offset: 0, Limit: 10, SortDir: "Asc", SortBy: "Name"}, ResponseStatus: {}, Notifications: []}

职位:appsessions / {id}

根据AppSession的Id更改其当前状态

权限

  • 通过父项目访问引用的AppResults

查询参数

  • 状态: AppSession的状态,创建的Samples或AppResults将继承此值。此参数为REQUIRED,否则将抛出错误。可能的状态包括:

    • 运行:创建AppResult或Sample时的初始状态,表示应用程序正在处理或上传数据。
    • 完整的:处理和文件上传已经完成,现在可以使用数据了。
    • NeedsAttention:此状态表示在没有用户干预的情况下处理不能继续。一旦解决,状态可以回到运行完整的.可能会向用户发送通知,提醒他们注意这一点。
    • TimedOut:当AppSession已经在运行超过72小时,此状态可在稍后更改。
    • 流产:此测试或样本已中止,可能无法恢复。不允许进一步更改状态。
  • StatusSummary: AppResult或Sample当前发生的事情的简要摘要,将在状态旁边显示给用户。这可能会被更新多次。该字段的最大长度为128个字符。

使用实例使用AppSession id修改apppresult的状态9 d2cac1f2d908dbf82b9583e072f6b47完整的有一个简短的statussummary使用cURL:

curl -v -H "x-access-token:{访问令牌}" \ -d "status=complete" \ -d "statussummary=处理和文件上传完成。"https://api.basespace.illumina.com/v1pre3/appsessions/9d2cac1f2d908dbf82b9583e072f6b47 \

如果成功,200好了返回一个JSON AppResult对象。

HTTP/1.1 200 OK Content-Type: application/json日期:Thu, 30 Aug 2012 9:30:46 GMT {"Response":{"References": [], "Id":"9d2cac1f2d908dbf82b9583e072f6b47", "Href":"v1pre3/appsessions/9d2cac1f2d908dbf82b9583e072f6b47", "UserCreatedBy":{"Id":"74074", "Href":"v1pre3/users/74074", "Name":"John Doe"}, "Status":"Complete", "StatusSummary":"Processing and file upload Complete ."}, "ResponseStatus":{}, "Notifications":[]}

注:AppSessions中的运行状态将更改为TimedOut如果AppSession的状态没有更改为,72小时后将不会在UI中为用户显示完整的在那个时候。

职位:应用程序/ {id} / appsessions

这是BaseSpace的应用启动API。使用此API将允许您启动任何您可以访问的本地应用程序。

允许您为本地应用程序创建一个新的AppSession,并自动启动提供参数的应用程序。

这个API是ALPHA版本,可能会有变化,可能会有一些问题。如果您有任何问题和反馈,请不要犹豫与我们联系。

此API服从API速率限制,它们将在上面的部分中详细描述。

权限

  • 需要一个私人access_token从开发人员门户中的凭证选项卡
  • 访问以启动指定的应用程序

限制

  • 仅适用于本地应用

  • 它支持免费应用,但不支持付费应用

  • 分析总是在成功的POST请求之后立即开始

头参数

  • 内容类型:该值应始终设置为application / json
  • x-access-token:如果您以编程方式启动应用程序,则需要提供此选项。如果您是通过浏览器工具启动它,只需登录到BaseSpace,然后使用浏览器工具启动(例如Chrome的Postman)。此访问令牌必须为私人访问令牌,可以在任何应用程序的凭证选项卡中找到,使用一个私有令牌,您可以启动任何应用程序,您可以访问

查询参数

  • 的名字: AppSession的名称,这将在UI中显示给用户。该字段的最大长度为128个字符

  • StatusSummary: AppResult或Sample当前发生的事情的简要摘要,将在状态旁边显示给用户。这可能会被更新多次。该字段的最大长度为128个字符

  • 自动启动: Boolean (真正的)值,该值决定应用程序是否应该立即启动或是否应该简单地模拟。如果时,应用程序将不会启动,但响应将包含来自模拟AppSession的JSON,该模拟AppSession使用所提供的数据创建。应该设置为真正的在大多数情况下

  • AgentId发布的应用可选字段可以用来做本地测试。AgentId可以在开发人员门户中应用程序的“本机设置”选项卡中找到。这与使用发送给本地代理按钮。

  • 属性:数组属性为指定的应用程序的活动表单定义所有输入表单参数。这个数组类似于为应用程序填写输入表单

使用Id启动Isaac WGS v2应用程序278278,此应用程序在BaseSpace中发布:

curl -v -H "x-access-token:{访问令牌}" \ -H "Content-Type: application/json" \在POST中提供以下json: {"Name": "Api Launch Isaac WGS v2", "StatusSummary": "AutoLaunch", "AutoStart": true, "Properties": [{"Name": "Input. "project-id", "Type": "project", "Content": "v1pre3/projects/123 "}, {"Name": "Input. "样本-id", "Type": "sample[]", "items": [ "v1pre3/samples/123 " ] }, { "Name": "Input.FlagPCRDuplicates-id", "Type": "string[]", "items": [ ] }, { "Content": "RefSeq", "Name": "Input.AnnotationSource", "Type": "string" }, { "Name": "Input.genome-id", "Type": "string", "Content": "Human" }, { "Name": "Input.GQX-id", "Type": "string", "Content": "30" }, { "Content": "10", "Name": "Input.StrandBias-id", "Type": "string" } ] } https://api.basespace.illumina.com/v1pre3/applications/278278/appsessions

您在Properties数组中提供的值取决于正在启动的应用程序的输入表单。为了启动一个应用程序,你需要知道该应用程序的输入表单的字段,以便传递正确的参数来启动应用程序。为了启动应用程序,必须提供所有必需的输入表单字段。

如果成功,分析将被创建并自动启动。然后,用户将在BaseSpace UI中看到分析结果弹出。提供输入表单中列出的所有输入表单字段名是非常重要的输入。输出。适当)。BaseSpace将自动创建属性输入。项目输入。样品,输入。AppResults项目样本,appresult在Properties JSON数组中提供。

在上面的模板中,我们只是简单地为Isaac v2应用程序设置所有必需的字段。输入Sample Id为123所选项目的Id为123,所以对应的hrf为v1pre3 /样品/ 123而且v1pre3 /项目/ 123.该模板可在Python SDK简介.我们计划在稍后阶段发布更多的应用程序启动模板,但如果有任何你特别想看的,请张贴到basspace -developers谷歌组

在上面的例子中,我们使用Isaac WGS V2应用程序在BaseSpace中可用。这个应用程序在其输入表单中定义了一些字段,这些字段与我们上面post的Properties相匹配,当您单击发射这个应用程序的输入表单有一些必选和可选字段,这些字段仍然适用于通过这个API提供的属性数组。

删除:appsessions / {id}

看到垃圾的api在垃圾Api部分

样品

样品是对测序仪流单元输出进行多路复用的结果。BaseSpace中的Sample包含关于它是如何生成的元数据(即从示例表中生成)和一个集合文件以压缩的FASTQ格式表示所有读取。

响应的元素除了常见响应要素

  • HrefGenome:该样本所引用的基因组,此字段是可选的,如果为空则不会暴露
  • SampleNumber:该样本在项目中的样本编号
  • ExperimentName:取此样本的运行的名称
  • HrefFiles:此示例文件的位置
  • AppSession:关于创建此示例的appsession的信息
  • IsPairedEnd:指定读是否为配对的结束读
  • Read1:第一次读取的长度,即碱基数
  • Read2:第二次读的长度,即垒数
  • NumReadsRaw:此样本的读取数
  • NumReadsPF:通过过滤器的read个数
  • SampleId:样本表中样本的Id,这是由用户在流单元级别指定的
  • 参考: Reference字段显示了该Sample与BaseSpace中其他Samples或AppResults的关系
    • Rel:一个提起的value表示这个Sample被应用程序用来生成一个AppResult
    • 类型:使用此Sample作为应用程序输入输出的资源类型,通常为AppResult
    • 内容:提供有关使用此示例数据的AppResult(s)的详细信息

得到:样品/ {Id}

通过Id检索特定的样本。响应中有一个appsession参数,将在应用程序会话本文档的一部分。

权限

  • 浏览可以直接访问示例,也可以通过访问项目访问示例

访问示例Id的请求示例37037

GET https://api.basespace.illumina.com/v1pre3/samples/37037 {Response:{HrefGenome:"v1pre3/genomes/4", SampleNumber:1, ExperimentName:"Genome-in-a-Day", HrefFiles:"v1pre3/samples/37037/files", AppSession:{Id:"0480cbb3c56135f3f2265f6437ceadf0", Href:"v1pre3/appsessions/0480cbb3c56135f3f2265f6437ceadf0", UserCreatedBy:{Id:"1001", Href:"v1pre3/users/1001", Name:"John Doe"}, Status:"Complete", StatusSummary:"", DateCreated:"2012-02-14T07:00:52.0000000"}, IsPairedEnd:true, Read1:0, Read2:0,NumReadsRaw:0, NumReadsPF:0, Id:"37037", Href:"v1pre3/samples/37037", UserOwnedBy:{Id:"1001", Href:"v1pre3/users/1001",名称:"John Doe"},名称:"NA18507", SampleId:" Id 1",状态:"完成",StatusSummary:"", DateCreated:"2012-02-14T15:04:52.0000000",参考文献:[{Rel:"UsedBy",类型:"AppResult", Href:"v1pre3/appresults/9675", HrefContent:"v1pre3/appresults/9675",内容:{Id:"9675", Href:"v1pre3/appresults/9675", UserOwnedBy:{Id:"1001", Href:"v1pre3/appresults/9675", UserOwnedBy:{Id:"1001", Href:"v1pre3/appresults/9675",名称:"John Doe"},名称:"Resequencing",状态:"Complete", StatusSummary:"", DateCreated:"2012-06-01T16:12:00.0000000"}}]}, ResponseStatus:{}, Notifications:[]}

:项目/ {Id} /样品

检索给定项目中的样本集合

权限

  • 浏览访问项目

查询参数除了资源收集请求

  • SortBy:根据给定字段对结果进行排序。可能的值:Id的名字,或DateCreated.默认值:Id

检索项目Id的示例列表1,按Id降序排列:

GET https://api.basespace.illumina.com/v1pre3/projects/1/samples?SortBy=Id&SortDir=Desc {"Response":{"Items":[{"Id": "194265", "Href": "v1pre3/samples/194265", "UserOwnedBy": {"Id": "1003", "Href": "v1pre3/users/1003", "Name": "John Doe"}, "Name": "sample_72", "Status": "Complete", "StatusSummary": "" DateCreated": "2012-08-10 t18: " 32:42.0000000"}, {"Id": "194264", "Href": "v1pre3/samples/194264", "UserOwnedBy": {"Id": "1003", "Href": "v1pre3/users/1003", "Name": "John Doe"}, "Name": "Name": " johndoe ", "Name": " johndoe "}, "Name": " johndoe ":"sample_71", "状态":"完成","StatusSummary": "", "DateCreated": "2012-08-10T18:32:41.0000000"}, {"Id": "194263", "Href": "v1pre3/samples/194263", "UserOwnedBy": {"Id": "1003", "Href": "v1pre3/users/1003", "Name": "John Doe"}, "Name": "sample_70", "Status": "Complete", "StatusSummary": "" DateCreated": "2012-08-10 t18:" 32:40.0000000"}], "DisplayedCount":3, "TotalCount":3, "Offset":0, "Limit":10, "SortDir":"Desc", "SortBy":"Id"}, "ResponseStatus":{}, "Notifications":[]}

删除:样品/ {id}

看到垃圾的api在垃圾Api部分

AppResults

AppResults是BaseSpace中应用程序产生的任何结果的通用术语。例如,如果应用程序执行重排序工作流,相应的AppResult将是对齐的读取(存储为BAM文件)和变量(存储为VCF文件)的集合。每个AppResult将包含这些的集合文件

每个工具都可以生成各种输出文件,BaseSpace API可以通过AppResults访问这些文件。

响应的元素除了常见响应要素

  • HrefGenome:所引用的基因组,此字段是可选的,如果为空则不会暴露
  • HrefFiles:这次评估文件的位置
  • AppSession:关于创建此appsession的appsession的信息
  • 参考文献:显示如何引用这个AppResult以及在哪里引用
    • Rel:如果该参数为使用,这意味着这个AppResult是作为运行在单个样本或样本集上的应用程序的结果而创建的
    • 类型:输入哪种类型的资源,可以是Project/Samples/AppResults
    • 内容:关于上述类型的一些详细信息。

得到:appresults / {Id}

通过Id检索一个特定的AppResult。响应中有一个appsession字段,将在应用程序会话本文档的一部分。

权限

  • 浏览访问AppResult直接或通过访问包含AppResult的项目

访问AppResult Id的请求One hundred.

GET https://api.basespace.illumina.com/v1pre3/appresults/100{响应:{描述:"Amplicon on sample_1", HrefFiles: "v1pre3/appresults/100/files", HrefGenome: "v1pre3/genomes/4", AppSession: {Id: "18045d13d368ec128ae0e4b9f6b50873", Href: "v1pre3/appsessions/18045d13d368ec128ae0e4b9f6b50873", UserCreatedBy: {Id: "1003", Href: "v1pre3/users/1003",名称:"Jane Doe"},状态:"完成",StatusSummary: "", DateCreated: "2011-11-11T03:54:53.0000000"},参考资料:[{Rel: "正在使用",类型:"Sample", Href: "v1pre3/samples/1100", HrefContent: "v1pre3/samples/1100",内容:{Id: "1100", Href: "v1pre3/samples/1100", UserOwnedBy: {Id: "1003", Href: "v1pre3/users/1003",名称:"Jane Doe"},名称:"sample_1", SampleId: "1_1",状态:"Complete", StatusSummary: "", DateCreated: "2011-11-11T04:41:30.0000000"}}], Id: "100", Href: "v1pre3/appresults/100", UserOwnedBy: {Id: "1003", Href: "v1pre3/users/1003",名称:"Jane Doe"},名称:"Amplicon",状态:"Complete", StatusSummary: "Complete""", DateCreated: "2012-06-01T16:12:00.0000000"}, ResponseStatus: {}, Notifications: []}

:项目/ {Id} / appresults

检索特定项目Id内的AppResults列表

权限

  • 浏览进入工程项目

查询参数除了资源收集请求

  • SortBy:根据给定字段对结果进行排序。可能的值:Id的名字,或DateCreated.默认值:Id

检索项目Id中的AppResults列表1,按Id升序排序:

得到https://api.basespace.illumina.com/v1pre3/projects/1/appresults?SortBy=Id&SortDir=Asc{“响应”:{“物品”:[{" Id ": " 100 "、“Href”:“v1pre3 / appresults / 100”,“UserOwnedBy”:{" Id ": " 1003 "、“Href”:“v1pre3 /用户/ 1003”、“名称”:“Jane Doe”},“名字”:“扩增子”,“状态”:“完成”,“StatusSummary”:“”,“DateCreated”:“2012 - 06 - 01 t16:12:00.0000000”},{" Id ": " 101 "、“Href”:“v1pre3 / appresults / 101”,“UserOwnedBy”:{" Id ": " 1003 "、“Href”:“v1pre3 /用户/ 1003”、“名称”:“John Doe”},“名字”:"Amplicon", "Status": "Complete", "StatusSummary": "", "DateCreated": "2012-06-01T16:12:00.0000000"}], "SortBy":"Id", "DisplayedCount":2, "TotalCount":2, "Offset":0, "Limit":10, "SortDir":"Asc"}, "ResponseStatus":{}, "Notifications":[]}

得到:appsessions / {id} / appresults

返回由AppSession创建的AppResults列表

权限

  • 用户的有效访问令牌。

列出所有带有id的AppSession的AppResults9 ff65b325f524802af3598f66045ae2c

GET http://api.basespace.illumina.com/v1pre3/appsession/9ff65b325f524802af3598f66045ae2c/appresults{响应:{项目:[{Id: "731732", Href: "v1pre3/appresults/731732", UserOwnedBy: {Id: "2002", Href: "v1pre3/users/2002",名称:"BaseSpace Illumina", GravatarUrl: "gravatarurl.com"},名称:"Picard Aln Metrics for Taq",状态:"完成",StatusSummary: "分析和回写成功;删除本地文件",DateCreated: "2013-06-04T18:23:52.0000000", TotalSize: 72963}], DisplayedCount: 1, TotalCount: 1, Offset: 0, Limit: 10, SortDir: "Asc", SortBy: "Id"}, ResponseStatus: {}, Notifications: []}

职位:项目/ {Id} / appresults

在特定项目中创建或更改AppResult。在这个项目中创建了一个新的评估。有关详情,请参阅写回BaseSpace指南

权限

  • 访问包含AppResult的项目

头参数

  • x-access-token:应用程序用于该进程的access_token
  • 内容类型:应用程序传递的参数的内容类型,为此应用程序必须指定application / json并传递一个JSON。关于此的更多信息,请参见写回BaseSpace指南

为请求正文定义JSON字段

记住,这些参数包含在创建AppResult时传入的JSON中:

  • 的名字:人员名称(要求
  • 描述: AppResult简介
  • HrefAppSession:为新的apppresult指定AppSession的位置。此字段仅可在状态此AppSession的参数都不是完整的也不流产,并且应用字段必须匹配。通常看起来是这样的v1pre3 appsessions / {appsessionid}.如果没有提供该字段,将隐式地创建一个新的AppSession并与新的apppresult关联。
  • 参考文献Reference字段显示AppResult的输入或与BaseSpace中其他资源的关系。

    • Rel使用意味着一些文件被用作这个AppResult的输入
    • 类型:用作此AppResult输入的资源类型
    • HrefContent给出上面指定的Type的位置,参见下面的示例

如何在项目中使用包含值的JSON输入创建估计值的示例的名字描述HrefAppSession,参考文献

curl -v -H "x-access-token:{访问令牌}\ -H "Content-Type: application/json" \ -X POST -d {"Name":"My apppresult ", "Description":"My App Description" "HrefAppSession":"v1pre3/appsessions/{appsessionId}", "References":[{"Rel":"using", "HrefContent":"v1pre3/samples/1100"}]} \ https://api.basespace.illumina.com/v1pre3/projects/{ProjectId}/appresults

如果成功,201年创建返回一个JSON应用程序结果对象。

HTTP/1.1 201创建的内容类型:application/json周五,5月11日10:23:46 GMT{响应:{描述:“我的应用程序描述”,HrefFiles:“v1pre3/appresults/9675/files”,AppSession:{Id:“0480cbb3c56135f3f2265f6437ceadf0”,Href:“v1pre3/appsessions/0480cbb3c56135f3f2265f6437ceadf0”,UserCreatedBy:{Id:“1001”,Href:“v1pre3/users/1001”,名称:“John Smith”},状态:“完成”,StatusSummary:“”,DateCreated:“2012-02-14T07:00:52.0000000”},参考资料:[{Rel:“正在使用”,类型:“样本”,Href:“v1pre3/samples/1100”,HrefContent:“v1pre3/samples/1100”,内容:{Id:"37037", Href:"v1pre3/samples/1100", UserOwnedBy:{Id:"1001", Href:"v1pre3/users/1001", Name:"John Smith"}, Name:"NA18507", SampleId:" Id 1", Status:"Complete", StatusSummary:"" ", DateCreated:"2012-02-14T15:04:52.0000000"}}], Id:"9675", Href:"v1pre3/appresults/9675", UserOwnedBy:{Id:"1001", Href:"v1pre3/users/1001", Name:"John Doe"}, Name:"My AppResult", Status:"Running", StatusSummary:"", DateCreated:"2012-06-01T16:12:00.0000000"}, ResponseStatus:{}, Notifications:[]}

删除:appresults / {id}

看到垃圾的api在垃圾Api部分

基因组

基因组资源提供了对BaseSpace中存档的任何基因组的访问。查找详细信息的方法,包括SpeciesName而且构建,关于BaseSpace中的基因组。

响应的元素除了常见响应要素

  • SpeciesName:这是基因组的物种名称
  • :该基因组被上传的来源
  • 构建:追踪基因组的版本或构造

得到:基因组

检索BaseSpace中所有可用基因组的列表

查询参数除了资源收集请求

  • SortBy:根据给定字段对结果进行排序。可能的值:IdSpeciesName,或构建.默认值:Id

检索所有基因组的列表,以Id按升序排序,偏移量为5,限制为11:

GET https://api.basespace.illumina.com/v1pre3/genomes?SortBy=Id&Offset=5&Limit=11&SortDir=Asc&Id=current {"Response":{"Items":[{"Id": "6", "SpeciesName": "Phix", "Href": "v1pre3/genomes/6"}, {"Id": "7", "SpeciesName": "球红杆菌","Href": "v1pre3/genomes/7"}, {"Id": "8", "SpeciesName": "褐家鼠","Href": "v1pre3/genomes/8"}, {"Id": "9", "SpeciesName": "酿酒酵母","Href": "v1pre3/genomes/9"}, {"Id": "10", "SpeciesName": "SpeciesName": "v1pre3/genomes/7":"金黄色葡萄球菌","Href": "v1pre3/genomes/10"}, {"Id": "12", "SpeciesName": "蜡样芽孢杆菌","Href": "v1pre3/genomes/12"}], "DisplayedCount": 6, "TotalCount": 11, "Offset": 5, "Limit": 11, "SortDir": "Asc", "SortBy": "Id"}, "ResponseStatus":{}, "Notifications":[]}

得到:基因组/ {Id}

通过Id检索特定的基因组

用Id检索特定的基因组6

GET https://api.basespace.illumina.com/v1pre3/genomes/6 {"Response": {"DisplayName": "Phix - Illumina", "Source": "Illumina", "Build": "1.0", "Id": "6", "SpeciesName": "Phix", "Href": "v1pre3/genomes/6"}, "ResponseStatus":{}, "Notifications":[]}

文件

BaseSpace中的文件就是我们所期望的—一组属性(创建日期、大小等)和一个数据流。BaseSpace API允许应用程序读取它所访问的任何文件。此外,某些文件(VCF和BAM文件)具有其他可用信息。

提供了Files资源,以便用户可以访问与特定文件相关联的文件运行样品,或AppResults

响应的元素除了常见响应要素

  • UploadStatus:上传该文件的状态
  • HrefContent:在API中文件的内容被定位
  • HrefCoverage:该文件在API中的覆盖位置
  • 大小:该文件的字节大小
  • 路径: BaseSpace界面中该文件的路径
  • HrefVariants:该文件的变量在API中的位置
  • ContentType:该文件中包含的内容类型
  • OriginalScope:一个显示关于样本合并的信息的字段,通常由关于这个文件从样本合并的来源的信息填充。它提供了一种逻辑方式来将这些合并的文件分组在一起,以显示它们的确切来源。

得到:文件/ {Id}

根据文件Id检索有关给定文件的信息

权限

  • 浏览访问文件所属的Run、Sample或AppResult

检索带有Id的文件2150156

GET https://api.basespace.illumina.com/v1pre3/files/2150156 {"Response": {"UploadStatus": "complete", "HrefContent": "v1pre3/files/2150156/content", "HrefCoverage": "v1pre3/coverage/2150156", "Id": "2150156", "Href": "v1pre3/files/2150156", "Name": "sorted。bam”,“大小”:113337981395,“路径”:“BySample/1/数据/强度/basecalls/对齐/排序。bam", "DateCreated": "2012-02-14T07:01:06.0000000"}, "ResponseStatus": {}, "Notifications": []}

附加文件支持

某些类型的文件具有与之关联的附加服务。具体来说,VCF(可变调用格式)和BAM(二进制SAM)在BaseSpace中具有特殊的支持HrefVariants而且HrefCoverage字段分别为:

GET https://api.basespace.illumina.com/v1pre3/files/2150158 {"Response": {"HrefContent": "v1pre3/files/2150158/content", " hrefvariations ": "v1pre3/variantset/2150158", "Id": "2150158", "Href": "v1pre3/files/2150158", "Name": "genome. "vcf”,“大小”:399487274,“路径”:“BySample/1/数据/强度/basecalls/校准/基因组。vcf", "DateCreated": "2012-02-14T08:21:03.0000000" }, "ResponseStatus":{ }, "Notifications":[ ] }

得到:运行/ {id} /文件

检索属于给定运行Id的文件集合

权限

  • 浏览访问文件所属的运行

查询参数除了资源收集请求

  • SortBy:根据给定字段对结果进行排序。可能的值:Id路径DateCreated.默认值:Id
  • 扩展:根据扩展名过滤与Run相关的文件。即列出特定Run中的所有.bcl文件。它们可以是.bin, .xml, .csv, .bcl, .filter等等。

检索与运行Id相关的所有文件1021限制为5和的偏移量15

GET https://api.basespace.illumina.com/v1pre3/runs/1021/files?Limit=5&Offset=15 {"Response": {"Items":[{"Id":"15021", "Href":"v1pre3/files/15021", "Name":"s_1_1. 0 ", "Name":"s_1_1. 0 "。bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c20.1/s_1_1. bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c20.1/s_1_1. bcl"。bcl”、“DateCreated”:“2011 - 11 - 11 t03:28:22.0000000 "}, {" Id ": " 15025 "、“Href”:“v1pre3 /文件/ 15025”、“名称”:“s_1_1。bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c29.1/s_1_1. bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c29.1/s_1_1. bcl"。bcl”、“DateCreated”:“2011 - 11 - 11 t03:28:23.0000000 "}, {" Id ": " 15030 "、“Href”:“v1pre3 /文件/ 15030”、“名称”:“s_1_1。bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c17.1/s_1_1. bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c17.1/s_1_1. bcl"。bcl”、“DateCreated”:“2011 - 11 - 11 t03:28:25.0000000 "}, {" Id ": " 15033 "、“Href”:“v1pre3 /文件/ 15033”、“名称”:“s_1_1。bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c1.1/s_1_1. bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c1.1/s_1_1. bcl"。bcl”、“DateCreated”:“2011 - 11 - 11 t03:28:27.0000000 "}, {" Id ": " 15038 "、“Href”:“v1pre3 /文件/ 15038”、“名称”:“s_1_1。bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c30.1/s_1_1. bcl", "Size":731133, "Path":"data/ intensity /basecalls/l001/c30.1/s_1_1. bcl"。bcl", "DateCreated":"2011-11-11 t03:28 . 28.0000000"}], "DisplayedCount":5, "TotalCount":71, "Offset":15, "Limit":5, "SortDir":"Asc", "SortBy":"Id"}, "ResponseStatus":{}, "Notifications":[]}

得到:样品/ {Id} /文件

检索属于给定示例Id的文件集合

权限

  • 浏览访问文件所属的样本

查询参数除了资源收集请求

  • SortBy:根据给定字段对结果进行排序。可能的值:Id路径DateCreated.默认值:Id
  • 扩展:过滤结果。目前唯一的示例文件是.gz,这些都是已压缩的FASTQ文件。
  • 限制:限制列表中返回的结果数。限制可以01000对于这个方法。

检索样本Id中的所有.gz文件32111,按Id升序排列:

GET https://api.basespace.illumina.com/v1pre3/samples/32111/files?SortBy=Build&Extensions=gz&Offset=0&Limit=10&SortDir=Asc {"Response": {"Items": [{"Id": "1863960", "Href": "v1pre3/files/1863960", "Name": "s_G1_L001_I1_001.fastq.58.gz", "ContentType": "application/ octestream ", "Size": 149614, "Path": "data/intensities/basecalls/s_G1_L001_I1_001.fastq.58.gz", "DateCreated": "2012-02-07T23:35:55.0000000"}, {"Id": "1863961", "Href": "v1pre3/files/1863961", "Name": "s_G1_L001_I1_001.fastq.58.gz", "Name":“s_G1_L001_I2_001.fastq.58.gz”、“ContentType”:“应用程序/八进制”、“大小”:153010年,“路径”:“数据/强度/ basecalls / s_G1_L001_I2_001.fastq.58.gz”、“DateCreated”:“2012 - 02 - 07 - t23:35:55.0000000”},{" Id ":“1863962”、“Href”:“v1pre3 /文件/ 1863962”、“名称”:“s_G1_L001_R1_001.fastq.58.gz”、“ContentType”:“应用程序/八进制”、“大小”:688930年,“路径”:“数据/强度/ basecalls / s_G1_L001_R1_001.fastq.58.gz”、“DateCreated”:“2012 - 02 - 07 - t23:35:55.0000000 "}, {" Id ":“1863963”、“Href”:"v1pre3/files/1863963", "Name": "s_G1_L001_R2_001.fastq.58.gz", "ContentType": "application/octet-stream", "Size": 735822, "Path": "data/intensities/basecalls/s_G1_L001_R2_001.fastq.58.gz", "DateCreated": "2012-02-07T23:35:55.0000000"}], "DisplayedCount": 4, "TotalCount": 4, "Offset": 0, "Limit": 10, "SortDir": "Asc", "SortBy": "Id"}, "ResponseStatus": {}, "Notifications": []}

得到:appresults / {Id} /文件

根据AppResult的Id检索给定AppResult中的文件列表

权限

  • 浏览访问该文件所属的AppResult

查询参数除了资源收集请求

  • SortBy:根据给定字段对结果进行排序。可能的值:Id路径DateCreated.默认值:Id
  • 扩展:过滤结果按扩展名计算文件。目前AppResults文件只有.bam和.vcf,支持其他文件类型。
  • 限制:限制列表中返回的结果数。限制可以01000对于这个方法。

检索appresult Id中的所有bam文件One hundred.,按Id升序排序,上限为4:

GET https://api.basespace.illumina.com/v1pre3/appresults/100/files?SortBy=Id&Extensions=.bam&Offset=0&Limit=4&SortDir=Asc {"Response": {"Items": [{"Id": "21311", "Href": "v1pre3/files/21311", "Name": "s_G1.1.anomaly. "“ContentType”:“application/octet-stream”,“Size”:45057,“Path”:“data/ intensity /basecalls/Alignment/s_G1.1.anomaly”。bam”、“DateCreated”:“2011 - 11 - 11 t04:41:30.0000000 "}, {" Id ": " 21313 "、“Href”:“v1pre3 /文件/ 21313”、“名称”:“s_G1.1.chr1。“ContentType”:“application/octet-stream”,“Size”:82557,“Path”:“data/ intensity /basecalls/Alignment/s_G1.1.chr1.”bam”、“DateCreated”:“2011 - 11 - 11 t04:41:30.0000000 "}, {" Id ": " 21315 "、“Href”:“v1pre3 /文件/ 21315”、“名称”:“s_G1.1.chr10。bam”,“ContentType”:“application/octet-stream”,“Size”:99208,“Path”:“data/ intensity /basecalls/Alignment/s_G1.1.chr10。bam”、“DateCreated”:“2011 - 11 - 11 t04:41:30.0000000 "}, {" Id ": " 21317 "、“Href”:“v1pre3 /文件/ 21317”、“名称”:“s_G1.1.chr11。bam”,“ContentType”:“application/octet-stream”,“Size”:58453,“Path”:“data/ intensity /basecalls/Alignment/s_G1.1.chr11。bam", "DateCreated": "2011-11-11T04:41:30.0000000"}], "DisplayedCount": 4, "TotalCount": 22, "Offset": 0, "Limit": 4, "SortDir": "Asc", "SortBy": "Id"}, "ResponseStatus": {}, "Notifications": []}

得到:文件/ {Id} /内容

下载文件的内容

权限

  • 访问文件所属的Run、Sample或AppResult

查询参数

  • 重定向:该方法是否应该返回一个标准302redirect或包含redirect_uri的元JSON响应。可能的值:真正的而且.默认值:真正的

下载带有Id的文件2150158

得到https://api.basespace.illumina.com/v1pre3/files/ {Id} /内容

这个调用可以重定向应用程序(通过HTTP响应代码302)到另一个下载位置,例如Amazon S3上的预签名URL。方法给出的日期到期到期头。在此日期之前,应用程序可以尽可能多地使用这个URI,之后应用程序将需要再次调用API方法来刷新它。如果在下载过程中发生过期,下载不会中断。

请注意,Amazon S3支持Range请求来下载文件的一个片段,而不是整个内容。只需添加一个范围头将请求发送到S3在这里

应用程序可以将文件作为AppResult的一部分上传到API。详情请参阅写回BaseSpace指南的指令。有关更大的文件及更可靠的上载,请参阅多部分文件上传指南

职位:appresults / {id} /文件

在特定AppResult中更改或创建文件,有关更多信息,请参阅写回BaseSpace指南

权限

  • 访问该文件所属的AppResult

头参数

  • 内容类型:上传文件的内容类型。这个头是必需的。下载此文件时,也一样内容类型将被返回。

查询参数

  • 的名字:在AppResult中文件的名称
  • 目录:当数据具有目录结构时使用。这将在AppResult中创建一个目录来放置该文件。
  • 多部分:这是一个boolean值,真正的,以启动多部分文件下载。关于此的更多信息,请参见多部分文件上传API

在AppResult中POST带有Id的文件6797791使用内容类型八进制,名字myfile.vcf,并在目录中一些/路径使用cURL:

curl -v -H "x-access-token: {access token} \ -d @MyFile。vcf\ -H "Content-Type: application/octet-stream" \ https://api.basespace.illumina.com/v1pre3/appresults/6797791/files?name=myfile.vcf\&directory=some/path

如果成功,201年创建返回一个JSON文件对象。

HTTP/1.1 201创建的内容类型:application/json日期:周五,2012年5月11日10:47:21 GMT {"Response":{"HrefContent":"v1pre3/files/1401400/content", "Id":"1401400", "Href":"v1pre3/files/1401400", "Name":"MyFile. "vcf", "ContentType":"application/octet-stream", "Size":176418, "Path":"some/ Path /MyFile. "vcf", "DateCreated":"2012-05-11T10:47:17.0000000" }, "ResponseStatus":{}, "Notifications":[] }

把:文件/ {id} /部分/{号码}

将文件部件上传到特定的文件Id。部件可以并行上传,如果连接失败,则可以重新上传每个部件。无论上传的顺序如何,各部分都将按升序排序(即第5部分可以在第4部分之前上传,但完全上传后仍将正常排序)。请参阅多部分文件上传API获取更多信息。

权限

  • 对特定文件的访问

参数和限制

  • 文件大小:每个文件部分的大小要求不大于25mb且不小于5mb,文件的最后一部分可以小于5mb。
  • 数量:每个部件从开始编号110000,上传时文件的各个部分将按升序排序。

头参数

  • Content-MD5:在上传之前可能会提供一个base64编码的128bit MD5校验和,服务器将检查该校验和。通过提供计算值,应用程序可以确保上传后的校验和是匹配的。如果服务器计算的值与提供的值不匹配,则上传将被拒绝。虽然它是可选的,但强烈建议在上传后确保数据完整性。

唯一响应参数

  • 大小:上传部件的大小。
  • ETag:对上传的部分数据进行十六进制编码的MD5摘要。

上传部分1一个名为reportarchive.zipaa与Id7094087和使用cURL运行MD5校验和:

curl -v -H "x-access-token:{访问令牌}" \ -H "Content-MD5: 9mvo6qaA+FL1sbsIn1tnTg==" \ -T reportarchive. txt "zipaa \ -X PUT https://api.basespace.illumina.com/v1pre3/files/7094087/parts/1

请注意,上面的示例显示的文件已经在文件系统上被分割成多个部分(第一部分是reportarchive)。生成的Zipaa分裂命令),但应用程序可以自由使用任何方法来上传部分段的流。

如果成功,200好了返回一个JSON文件部分对象。

HTTP/1.1 200 OK Content-Type: application/json Date: Wed, 18 7月2012 15:21:12 GMT Content-Length: 90 {"Response":{"Number":1, "ETag":"f66be8eaa680f852f5b1bb089f5b674e", "Size":10496561}, "ResponseStatus":{}, "Notifications":[]}

职位:文件/ {id}

当文件由多个部分组成时,修改文件的上传状态。更多资料,请浏览多部分文件上传API

权限

  • 访问将要更改的特定文件

查询参数

  • UploadStatus:上传的状态,要触发多部分文件上传的完成,将此值更改为完整的.可能的状态有:

    • 等待:正在等待上传,部件正在上传中,没有被标记为完整的然而。
    • 流产:用户上传失败。
    • 完整的:完成多部分文件上传。

修改文件的多部分文件上传状态7094087完整的使用cURL:

curl -v -H "x-access-token:{访问令牌}" \ -X POST https://api.basespace.illumina.com/v1pre3/files/7094087?uploadstatus=complete

如果成功,201年创建与JSON文件对象一起返回。UploadStatus应该是完整的

HTTP/1.1 201创建内容-类型:application/json日期:Wed, 18 Jul 2012 16:20:00 GMT内容-长度:304 {"Response":{"UploadStatus":"complete", "HrefContent":"v1pre3/files/7094087/content", "Id":"7094087", "Href":"v1pre3/files/7094087", "Name":"reportarchive.zip", "ContentType":"application/zip", "Size":527623673, "Path":"reportarchive.zip", "DateCreated":"2012-07-18 t14:51:50 0.0475813z "}, "ResponseStatus":{}, "Notifications":[]}

得到这个响应后,文件上传就完成了。

变体

提供了Variantset资源,以便应用程序可以访问vcf文件中的变量。它对于查询特定染色体区域的方差和不同的基因组浏览器查找特定位置的方差是有用的。

从VCF文件中提取变量并存储在文档数据库中,以支持基于范围的快速查询。有两部分:“变量集”,其中包含VCF文件头中的信息,以及“变量”,或VCF文件中的数据行。

为了找到变异id时,须采取以下步骤:

1.找到应用程序想要在其中找到变体的appresult的Id。2.使用GET: appresults/{id}/files,搜索vcf扩展名,并在该appresults中找到特定vcf文件的id。3.使用GET: files/{id},其中将有一个' hrefvariables '字段,显示这个估估变量的id。

响应的元素

变体方法的响应元素与vcf文件格式是同步的。第一个变量方法描述了vcf文件的头,而第二个变量方法描述了vcf文件的其余部分。更多关于vcf文件格式的信息可以在这里找到在这里

查询参数

  • 格式:检索结果的格式。可能的值:jsonvcf.默认值:json

得到:variantset / {Id}

检索一个变体集

权限

  • 浏览通过Id访问变量集

检索带有Id的变体2150158

GET https://api.basespace.illumina.com/v1pre3/variantset/2150158{元数据:{文件格式:“VCFv4.1”,fileDate:“20120126”,来源:“/illumina/development/casava/ casava -1.8 _bf01187 /libexec/ casava -1.9.0a1_110909/makeConsensusVcf.pl——ref=/illumina/scratch/iGenomes/Homo_sapiens/UCSC/hg19/Sequence/染色体/chr10。fa - snp = / illumina公司/构建/迅雷/ 500 ng_h1_ct8244.casava18 / Parsed_25-01-12 / chr10 / snps.txt——indels = / illumina公司/构建/迅雷/ 500 ng_h1_ct8244.casava18 / Parsed_25-01-12 / chr10 / indels.txt——网站= / illumina公司/构建/迅雷/ 500 ng_h1_ct8244.casava18 / Parsed_25-01-12 / chr10/0000 / sites.txt.gz——网站= / illumina公司/构建/迅雷/ 500 ng_h1_ct8244.casava18 / Parsed_25-01-12 / chr10/0001 / sites.txt.gz——网站= / illumina公司/构建/迅雷/ 500 ng_h1_ct8244.casava18 / Parsed_25-01-12 / chr10/0002 / sites.txt.gz——indels = / illumina公司/构建/迅雷/ 500 ng_h1_ct8244.casava18 / Parsed_25-01-12 / chr10/0000 / indels.removed.txt——indels = / illumina公司/构建/迅雷/ 500 ng_h1_ct8244.casava18 / Parsed_25-01-12 / chr10/0001 / indels.removed.txt——indels = / illumina公司/构建/迅雷/ 500 ng_h1_ct8244.casava18 / Parsed_25-01-12 / chr10/0002 / indels.removed.txt”,sitesMaxDepth_chr10:“121.296617413957“indelsMaxDepth_chr10:“123.655927166378”},传说:{信息:[{ID:“SVTYPE”,号码:“1”,类型:“字符串”,描述:“结构变异类型”},{ID:“雪茄”,编号:“A”,类型:“字符串”,描述:“每个交替等位基因在包含断点以外的indes位点上的雪茄对齐。”}}, FILTER: [{ID: "QGT20", Description: "基因座基因型质量小于20或不可计算。"}, {ID: "FILT30",描述:"站点中超过30%的碱基被过滤掉。"}],格式:[{ID: "GT",编号:"1",类型:"字符串",描述:"基因型"},{ID: "GQ",编号:"1",类型:"Integer",描述:"基因型质量"}],"样本":["SAMPLE_1"]}, "ResponseStatus":{}, "Notifications":[]}

得到:variantset / {Id} /变量/{铬}

检索特定染色体中的变异

权限

  • 访问源文件所属的AppResult

查询参数除了上面提到的

  • :将要分析变异集的染色体。下面的示例使用chrX
  • StartPos:在染色体中搜索变异的起始位置,可以是染色体范围内的任意数字。无默认值,必须指定且必须为整数。
  • EndPos:在染色体中寻找变异的结束位置,可以是染色体范围内的任意数字。无默认值,必须指定且必须为整数。

检索带有Id的变体2150158在染色体的特定范围内chr2,由StartPos而且EndPos

GET https://api.basespace.illumina.com/v1pre3/variantset/2150158/variants/chr2?StartPos=1&EndPos=11000&Limit=1 {"Response":{"Items":[{"CHROM":"chr2", "POS":10236, "ID":["."),“REF”:“交流”、“ALT”:“一”、“定性”:61年,“过滤器”:“通过”,“信息”:{“VARTYPE_DEL”:[],“雪茄”:“1 m1d”,“俄罗斯”:“C”,“REFREP”:[4],“IDREP”:[3]},“SampleFormat”:{“示例”:{“GT”:“0/1”,“GQ”:“61”,“DPI”:“12 " } } }, ], " DisplayedCount”:1、“抵消”:0,“限制”:1、“SortDir”:“Asc”、“SortBy”:“位置”},“ResponseStatus”:{},“通知”:[]}

报道

Coverage资源用于提供特定染色体区域的平均读覆盖深度,并以直方图形式返回。

平均读覆盖深度通过解析由对齐产生的BAM文件来计算。这些信息存储在128个碱基的“桶”中。

为了启用交互式应用程序,如基因组浏览器,显示覆盖直方图,API支持各种“缩放级别”的聚合查询。这些缩放级别是根据所请求范围的大小自动计算的,以将结果集保持在大约2000个条目以下。

给定开始和停止位置,API决定返回多少值。在单个请求中返回值的数量永远不会超过2048。

响应的元素

  • MeanCoverage:特定桶大小对所有读取的平均覆盖数据
  • BucketSize:用于计算平均覆盖率的基的长度,本质上是每个仓的基
  • MaxCoverage:染色体的最大覆盖值
  • CoverageGranularity:整体覆盖数据的粒度,128个碱基/ bin

得到:覆盖/ {Id} /{铬}

检索特定染色体的覆盖率数据

权限

  • 访问源文件所属的示例

查询参数

  • :将要分析变异集的染色体。下面的示例使用chr2
  • StartPos:在染色体中搜索变异的起始位置,可以是染色体范围内的任意数字。无默认值,必须指定且必须为整数。
  • EndPos:在染色体中寻找变异的结束位置,可以是染色体范围内的任意数字。无默认值,必须指定且必须为整数。

检索的覆盖chrX档案内的染色体2150156,从1结束于20000

GET https://api.basespace.illumina.com/v1pre3/coverage/2150156/chrX?startPos=1&endPos=20000 {"Response": {"MeanCoverage": [12,10, .... .0,0], "Chrom": "chrX", "StartPos": 1, "EndPos": 20096, "BucketSize": 16}, "ResponseStatus": {}, "Notifications": []}

响应包含实际的开始和停止位置,四舍五入到底层数据支持的最接近的间隔。底层数据以128个基的粒度存储,因此对缩放级别低于7的请求的响应将包含重复的数据。

每个返回的值表示由BucketSize表示的一些基本位置的平均覆盖深度。在上面的例子中,基数20096-20112的平均覆盖率为12,而2012 -20128的平均覆盖率为10。

具有可用覆盖率的染色体必须与BAM文件中的名称匹配。

得到:覆盖/ {Id} /{铬}/元

检索关于染色体覆盖率的元数据

权限

  • 访问源文件所属的示例

查询染色体的覆盖元数据chrX

GET https://api.basespace.illumina.com/v1pre3/coverage/2150156/chrX/meta {"Response": {"MaxCoverage": 9968, "CoverageGranularity": 128}, "ResponseStatus": {}, "Notifications": []}

在上述情况下,染色体chrX最大覆盖值为9968并且本机存储在每个容器的粒度为128个碱基的容器中。

属性

属性是通过API提供的许多资源的元数据的轻量级存储机制。每个属性在其父资源中都有唯一的名称。

属性可以被写入以下资源,如果客户端有访问资源:Samples, AppResults, Runs, AppSessions和Projects。

请注意:属性目前在BaseSpace中作为预发布版本可用。

支持以下几种基本属性类型:

  • 字符串:存储长度不超过64kb的文本。
  • 地图:键/值对列表。键名在映射中必须是唯一的。字符串数组。
  • 资源引用:这允许引用另一个BaseSpace资源,例如appsession的特定输入。支持的引用类型是:
    • 样本
    • appresult
    • 运行
    • appsession
    • 项目

也可以将上述任何类型存储为数组。数组用上面的类型名后跟[].例子:样本[]地图[]string []

属性可以被写入以下资源,如果客户端有访问资源:样本,评估,运行,应用程序,项目。

现有的概念参考文献在AppSessions, Samples和AppResults中使用的属性将被淘汰,并被属性所取代。目前提供了完全的向后兼容性v1pre3的版本。

预发布说明:

  • BaseSpace UI还不显示属性,也不允许与属性交互。这将在即将发布的版本中提供。
  • 除了强制长度、有效字符和在属性名中至少包含一个名称空间之外,还可以使用任何属性名。在即将发布的版本中,我们将对某些属性名称空间引入限制,这里将对此进行描述。

得到:{资源}/ {id} /属性

检索与资源相关的属性,例如:得到:appsessions / {id} /属性

注意,属性也包括在完整的资源表示中,例如。得到:appsessions / {id}

权限

浏览对资源的访问

查询参数是由资源收集请求

GET https://api.basespace.illumina.com/v1pre3/appsessions/123/properties {"Response": {"Items": [{"Type":"string", "Href":"v1pre3/appsessions/123/properties/mytestapp.metrics. "”:“mytestapp.metrics magicnumber”、“名称。magicnumber", "Description":"", "Content":"42"}, {"Type":"appresult[]", "Href":"v1pre3/appsessions/123/properties/mytestapp.inputs. "”:“mytestapp.inputs appresults”、“名称。appresults", "Description":"", "ItemsDisplayedCount":2, "ItemsTotalCount":2, "HrefItems":"v1pre3/appsessions/123/properties/mytestapp.inputs.appresults/items", "Items": [ { /* AppResult included here */ }, { /* AppResult included here */ } ] }, { "Type": "map", "Href": "v1pre3/projects/592593/properties/mytestapp.inputs.metrics", "Name": "mytestapp.inputs.metrics", "Description": "Graph data for energydrinks vs productivity levels", "Content": [ { "Key": "label.x-axis", "Values": [ "energydrinks" ] }, { "Key": "label.y-axis", "Values": [ "productivity" ] }, { "Key": "series.x-axis", "Values": [ "0", "1", "2", "3", "4" ] }, { "Key": "series.y-axis", "Values": [ "5", "7", "8", "4", "1" ] } ] } ], "DisplayedCount":3, "TotalCount":3, "Offset":0, "Limit":1024, "SortDir":"Asc", "SortBy":"Name" } ,"ResponseStatus":{}, "Notifications":[] }

职位:{资源/ id} /属性

创建或更新与资源关联的一个或多个属性的内容。

权限

对资源的访问

来创建或更新mytestapp.metrics.magicnumber属性,它是一个单值字面量mytestapp.inputs.appresults属性,它包含多个资源引用:

curl -v -H "x-access-token:{访问令牌}-H "Content-Type: application/json" -X POST -d {"Properties": [{"Type": "string", "Name": "mytestapp.metrics. Properties . "magicnumber", "Description": "", "Content": "42"}, {"Name": "mytestapp.inputs. "appresults", "Type": "appresult[]", "Description": "", "Items": [ "appresults/3006", "appresults/3005" ] }, { "Name": "mytestapp.inputs.samples", "Type": "sample[]", "Description": "", "Items": [ "samples/1001", "samples/2002" ] }, { "Name": "mytestapp.inputs.metrics", "Description": "Graph data for energydrinks vs productivity levels", "ContentMap": [ { "Key": "label.x-axis", "Values": [ "energydrinks" ] }, { "Key": "label.y-axis", "Values": [ "productivity" ] }, { "Key": "series.x-axis", "Values": [ "0", "1", "2", "3", "4" ] }, { "Key": "series.y-axis", "Values": [ "5", "7", "8", "4", "1" ] } ] } ] } https://api.basespace.illumina.com/v1pre3/{resource/id}/properties

响应代码为201年创建如果以其他方式添加了一个或多个属性200好了如果只执行对属性内容(具有相同名称的内容)的更改。

响应体将包含任何添加和更新的属性。此输出的格式与得到:资源/ {id} /属性上面所描述的。

类型是非常重要的,以下类型会将相关资源的元数据附加到Properties Items数组:文件文件[]运行运行[]样本样本[]appresult,appresult []

得到:{资源}/ {id} /属性/{名称}/项目

检索与给定多值属性关联的项。

权限

浏览对资源的访问

查询参数是由资源收集请求

检索与属性关联的项的详细信息:

得到https://api.basespace.illumina.com/v1pre3/appsessions/123/properties/mytestapp.inputs.appresults/items{“响应”:{“类型”:“appresult[]”,“项目”:[{" Id ": " 4 cdd018951c7437fb473c75d6db55bc0 ", "内容":{/ * appresult包括在这里  */ } }, { " Id”:“2354 e0e8e21f4d42bdf3705bef4fa514”、“内容”:{/ * AppResult包括在这里  */ } } ], " DisplayedCount”:2、“TotalCount”:2,“抵消”:0,“限制”:50岁“SortDir”:“Asc”、“SortBy”:“DateCreated“}”ResponseStatus”:{},“通知”:[]}

删除:{资源}/ {id} /属性/{名称}

删除与资源关联的属性。

权限

对资源的访问

示例请求:

curl -v -H "x-access-token: {access token} -X DELETE https://api.basespace.illumina.com/v1pre3/appsessions/123/properties/mytestapp.inputs.appresults

这将删除该属性mytestapp.inputs.appresults与appsession关联123

垃圾的api

本节将介绍负责将项目移进和移出垃圾,以及为当前用户清空垃圾的api。

删除:{资源}/ {id}

代表当前用户删除一个资源(run、project、sample、apppret、appsession)。这会将资源移动到用户的垃圾中,在那里它可以被清空(永远消失),也可以被恢复。Resource可以是下列之一:

  • 运行
  • 项目
  • appsessions
  • appresults
  • 样品

它返回回收站响应,其中包含回收站中项目的详细信息。

权限

MOVETOTRASH全球用户授予的全局权限。

查询参数

  • 保存=元数据:仅删除该资源的文件。资源将在api中保持可见,但文件将不可见。目前仅支持运行。

示例请求:

curl -v -H x-access-token: {access token} -X DELETE https://api.basespace.illumina.com/v1pre3/projects/123

示例响应:

{"Response": {"IncludedSamples": [], "IncludedAppResults": [], "IncludedAppSessions": [], "UserDeletedBy": {"Id": "10000001", "Href": "v1pre3/users/10000001", "Name": "DateCreated": "2012-11-27T01:27:14.0000000", "GravatarUrl": "https://secure.gravatar.com/avatar/xyzabc.jpg?s=20&d=mm&r=PG", "ExternalDomainId": "xyzabc"}, "Id": "12341234", "Name": "Secret email ", "Href": "v1pre3/trash/12341234", " datdeleted ": "2016-11-05T00:42:46.3637060Z", "TotalSize":0,“已删除项目”:{“Id”:“123”,“UserOwnedBy”:{“Id”:“10000001”,“Href”:“v1pre3/users/11012”,“名称”:“希拉里克林顿”,“数据创建”:“2012-11-27T01:27:14.0000000”,“GravatarUrl”:“https://secure.gravatar.com/avatar/xyzabc.jpg?s=20&d=mm&r=PG”,“ExternalDomainId”:“xyzabc”},“Href”:“v1pre3/projects/123”,“名称”:“秘密邮件”,“描述”:“”,“数据创建”:“2016-11-05T00:42:24.0000000”,“数据修改”:“2016-11-05T00:42:46.3637060Z”,“has”:false,“已删除”:true, "TotalSize": 0}, "IsVisibleInTrash": true, "ChildCount": 0, "HrefPostRestoreFromTrash": "v1pre3/trash/12341234/RestoreFromTrash", "Includes": ["FILEDATA", "METADATA"]}, "ResponseStatus": {}, "Notifications": []}

这将删除项目123它会被扔进垃圾桶。

得到当前用户/ /垃圾

列出当前用户在其回收站中的项目。

权限

MOVETOTRASH全球用户授予的全局权限。

查询参数

  • 限制:限制偏移量后的最大条目数。默认值:10
  • 抵消:结果集中需要跳过的项数。默认值:0
  • SortBy:根据给定字段对结果进行排序。可能的值:DateDeleted而且TotalSize
  • SortDir:按什么方向排序结果。可能的值:Asc而且Desc

示例请求:

curl -v -H x-access-token: {access token} -X DELETE https://api.basespace.illumina.com/v1pre3/users/current/trash

示例响应:

{"Response": {"Items": [{"Id": "271273", "Name": "CAmpliconCancerPanel_111412", "Href": "v1pre3/trash/271273", " dateddeleted ": "2016-11-07T23:06:19.0000000", "TotalSize": 1846270973, "DeletedProject": {"Id": "222333", "UserOwnedBy": {"Id": "333444", "Href": "v1pre3/users/333444", "Name": "Hillary Clinton", " datecrecreated ": "2012-11-27T01:27:14.0000000", "GravatarUrl": "https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG", "ExternalDomainId":"xyzabc"}, "Href": "v1pre3/projects/222333", "Name": "CAmpliconCancerPanel_111412", "Description": "" DateCreated": "2012-11-15T22:11:48.0000000", "DateModified": "2016-11-07T23:06:21.0000000", " has合作者":false, "IsDeleted": true, "TotalSize": 0}, "IsVisibleInTrash": true, "ChildCount": 348, "HrefPostRestoreFromTrash": "v1pre3/trash/271273/RestoreFromTrash", "Includes": ["FILEDATA", "METADATA"}, {"Id": "271271", "Name": "新测试项目","Href":"v1pre3/trash/271271", " dateddeleted ": "2016-11-07T22:17:49.0000000", "TotalSize": 0, "DeletedProject": {"Id": "4445555", "UserOwnedBy": {"Id": "333444", "Href": "v1pre3/users/333444", "Name": "Hillary Clinton", "DateCreated": "2012-11-27T01:27:14.0000000", "GravatarUrl": "https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG", "ExternalDomainId": "xyzabc"}, "Href": "v1pre3/projects/4445555", "Name": "new test project", "Description": "" DateCreated": "DateCreated": ""2014-11-20T08:44:48.0000000", "DateModified": "2016-11-07T22:17:49.0000000", " has合作者":false, "IsDeleted": true, "TotalSize": 0}, "IsVisibleInTrash": true, "ChildCount": 1, "HrefPostRestoreFromTrash": "v1pre3/trash/271271/RestoreFromTrash", "Includes": ["FILEDATA", "METADATA"]}, {"Id": "270270", "Name": "x", "Href": "v1pre3/trash/270270", " dateddeleted ": "2016-11-05T00:42:46.0000000", "TotalSize": 0, "DeletedProject": {"Id": "6667777", "UserOwnedBy": {"Id": "333444", "Href": "Href": "333444", "Href": ""v1pre3/users/333444", "Name": "Hillary Clinton", "DateCreated": "2012-11-27T01:27:14.0000000", "GravatarUrl": "https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG", "ExternalDomainId": "xyzabc"}, "Href": "v1pre3/projects/6667777", "Name": "x", "Description": "" DateCreated": "2016-11-05T00:42:24.0000000", "DateModified": "2016-11-05T00:42:24.0000000", " has合作者":false, "IsDeleted": true, "TotalSize": 0}, "IsVisibleInTrash": true, "ChildCount":0,“HrefPostRestoreFromTrash”:“v1pre3/trash/270270/RestoreFromTrash”,“包括”:[“FILEDATA”,“元数据”]},{“Id”:“261263”,“名称”:“测试删除多”,“Href”:“v1pre3/trash/261263”,“日期删除”:“2016-10-13T23:08:03.0000000”,“TotalSize”:0,“删除项目”:{“Id”:“33332222”,“UserOwnedBy”:{“Id”:“333444”,“Href”:“v1pre3/users/333444”,“名称”:“希拉里克林顿”,“datecrecreated”:“2012-11-27T01:27:14.0000000”,“GravatarUrl”:"https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG", "ExternalDomainId": "xyzabc"}, "Href": "v1pre3/projects/33332222", "Name": "test delete multi", "Description": "" "DateCreated": "2016-10-13T23:05:55.0000000", "DateModified": "2016-10-13T23:08:03.0000000", " has合作者":false, "IsDeleted": true, "TotalSize": 0}, "IsVisibleInTrash": true, "ChildCount": 0, "HrefPostRestoreFromTrash": "v1pre3/trash/261263/RestoreFromTrash", "Includes":["FILEDATA", "METADATA"]}], "DisplayedCount": 4, "TotalCount": 4, "Offset": 0, "Limit": 25, "SortDir": "Desc", "SortBy": " dateddeleted "}, "ResponseStatus": {}, "Notifications": []}

得到:垃圾/ {id}

在垃圾桶里找到物品的详细信息。

权限

MOVETOTRASH全球用户授予的全局权限。

示例请求:

curl -v -H x-access-token:{访问令牌}-X GET https://api.basespace.illumina.com/v1pre3/trash/123456

示例响应:

{"Response": {"IncludedSamples": [], "IncludedAppResults": [], "IncludedAppSessions": [{"Id": "9998888", "Name": "BWA Enrichment 11/20/2014 12:44:44", "Href": "v1pre3/appsessions/9998888", "Application": {"Id": "196196", "Href": "v1pre3/applications/196196", "Name": "BWA Enrichment", "CompanyName": "Illumyobet亚洲ina, Inc", "VersionNumber": "1.0.0", "HomepageUri": "http://support-test.illumina.com/help/BaseSpace_App_enr_BWA_help/BWAEnrichmentHelp.htm", "ShortDescription":“BWA丰富工作流的核心算法是BWA基因组比对软件和GATK Variant Caller.”,“DateCreated”:“2013-08-13T06:16:20.0000000”,“DatePublished”:“0001-01-01T00:00:00.0000000”,“PublishStatus”:“Published”,“IsBillingActivated”:false,“Category”:“Instance”,“Classifications”:["TargetedSequencing"],“AppFamilySlug”:“illumina-inc.”。bwa-enrichment", " appversionug ": "illumina- incs .bwa-enrichment.1.0.0", "Features": [], "LockStatus": "Unlocked"}, "UserCreatedBy": {"Id": "222111", "Href": "v1pre3/users/11012", "Name": "Donald Trump", "DateCreated": "0001-01-01T00:00:00.0000000", "GravatarUrl": "https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG", "ExternalDomainId": "xyzabc"}, "Completed": "2014-11-20T08:57:27.0000000", "IsDeleted": true}], "UserDeletedBy": {"Id": "222111", "Href":"v1pre3/users/11012", "Name": "Donald Trump", "DateCreated": "0001-01-01T00:00:00.0000000", "GravatarUrl": "https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG", "ExternalDomainId": "xyzabc"}, "Id": "271271", "Name": "new test project", "Href": "v1pre3/trash/271271", " dateddeleted ": "2016-11-07T22:17:49.0000000", "TotalSize": 0, "DeletedProject": {"Id": "2033031", "UserOwnedBy": {"Id": "222111", "Href": "v1pre3/users/11012", "Name":“唐纳德·特朗普”,“DateCreated”:“0001-01-01T00:00:00.0000000”,“GravatarUrl”:“https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG”,“ExternalDomainId”:“xyzabc”},“Href”:“v1pre3/projects/2033031”,“名称”:“新测试项目”,“描述”:“”,“DateCreated”:“2014-11-20T08:44:48.0000000”,“DateModified”:“2016-11-07T22:17:49.0000000”,“has合作者”:false,“IsDeleted”:true,“TotalSize”:0},“IsVisibleInTrash”:true,“ChildCount”:1, "HrefPostRestoreFromTrash": "v1pre3/trash/271271/RestoreFromTrash", "Includes": ["FILEDATA", "METADATA"]}, "ResponseStatus": {}, "Notifications": []}

POST / {Id} / restorefromtrash垃圾

将一个项目从回收站恢复到活动状态。

权限

MOVETOTRASH全球用户授予的全局权限。

示例请求:

curl -v -H x-access-token:{访问令牌}-X POST https://api.basespace.illumina.com/v1pre3/trash/123456/restorefromtrash

示例响应:

{"Response": {"IncludedSamples": [], "IncludedAppResults": [], "IncludedAppSessions": [{"Id": "9998888", "Name": "BWA Enrichment 11/20/2014 12:44:44", "Href": "v1pre3/appsessions/9998888", "Application": {"Id": "196196", "Href": "v1pre3/applications/196196", "Name": "BWA Enrichment", "CompanyName": "Illumyobet亚洲ina, Inc", "VersionNumber": "1.0.0", "HomepageUri": "http://support-test.illumina.com/help/BaseSpace_App_enr_BWA_help/BWAEnrichmentHelp.htm", "ShortDescription":“BWA丰富工作流的核心算法是BWA基因组比对软件和GATK Variant Caller.”,“DateCreated”:“2013-08-13T06:16:20.0000000”,“DatePublished”:“0001-01-01T00:00:00.0000000”,“PublishStatus”:“Published”,“IsBillingActivated”:false,“Category”:“Instance”,“Classifications”:["TargetedSequencing"],“AppFamilySlug”:“illumina-inc.”。bwa-enrichment", " appversionug ": "illumina- incs .bwa-enrichment.1.0.0", "Features": [], "LockStatus": "Unlocked"}, "UserCreatedBy": {"Id": "222111", "Href": "v1pre3/users/11012", "Name": "Donald Trump", "DateCreated": "0001-01-01T00:00:00.0000000", "GravatarUrl": "https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG", "ExternalDomainId": "xyzabc"}, "Completed": "2014-11-20T08:57:27.0000000", "IsDeleted": false}], "UserDeletedBy": {"Id": "222111", "Href":"v1pre3/users/11012", "Name": "Donald Trump", "DateCreated": "0001-01-01T00:00:00.0000000", "GravatarUrl": "https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG", "ExternalDomainId": "xyzabc"}, "Id": "271271", "Name": "new test project", "Href": "v1pre3/trash/271271", " dateddeleted ": "2016-11-07T22:17:49.0000000", "TotalSize": 0, "DeletedProject": {"Id": "2033031", "UserOwnedBy": {"Id": "222111", "Href": "v1pre3/users/11012", "Name":“唐纳德·特朗普”,“DateCreated”:“0001-01-01T00:00:00.0000000”,“GravatarUrl”:“https://secure.gravatar.com/avatar/50c49d02d7f932b903cd88f971ece3e6.jpg?s=20&d=mm&r=PG”,“ExternalDomainId”:“xyzabc”},“Href”:“v1pre3/projects/2033031”,“名称”:“新测试项目”,“描述”:“”,“DateCreated”:“2014-11-20T08:44:48.0000000”,“DateModified”:“2016-11-07T22:17:49.0000000”,“has合作者”:false,“IsDeleted”:false,“TotalSize”:0},“IsVisibleInTrash”:false,“ChildCount”:1, "HrefPostRestoreFromTrash": "v1pre3/trash/271271/RestoreFromTrash", "Includes": ["FILEDATA", "METADATA"]}, "ResponseStatus": {}, "Notifications": []}

删除用户/电流/垃圾

清空用户的垃圾。这是不可逆的。一旦发出此请求,所有项目将被标记为删除和清除。

权限

  • 空垃圾-清空用户当前垃圾的权限。

示例请求:

curl -v -H x-access-token: {access token} -X DELETE https://api.basespace.illumina.com/v1pre3/users/current/trash

示例响应:

200好了