Scientific Publications
The Affymetrix® NetAffx SDK is a set of application programming interfaces (API) used to access the annotations available on the Affymetrix NetAffx web site. The NetAffx SDK is a very thoroughly documented collection of software libraries, application programming interfaces, and sample code that illustrate and enable the use of and integration with the Affymetrix NetAffx by external programs.
This documentation is intended to provide comprehensive technical detail on the use of the Affymetrix NetAffx SDK in software development applications development. Additional support in the use of these application programming interfaces is available solely through the use of the Affymetrix Software Professional Services group. Use of the Affymetrix NetAffx SDK is offered to those customers who understand and accept these support limitations and wish to take advantage of this high value package with their application development projects.
NetAffx SDK
The NetAffx SDK provides programmatic access into the NetAffx system allowing for retrieval of annotations from the NetAffx web site. With the NetAffx SDK a programmer can:
- Obtain a list of available annotations.
- Obtain the attributes, such as date, of each available annotation.
- Selectively retrieve an annotation file of interest.
Please note: your use of the NetAffx SDK is subject to the Affymetrix developer Terms and Conditions and NetAffx Analysis Center data use Terms and Conditions provided therewith.
Language Bindings
The NetAffx SDK is written as a set of COM interfaces. Languages that support COM such as C++, VB, VC++ and ASP can access the SDK interfaces.
The NetAffx SDK is also written as Java classes to support the Java language. The implementation of the Java classes uses the Java Native Interface (JNI) technology to communicate with the COM version of the SDK. With this implementation, the use of the Java interfaces is restricted to a Windows OS environment only.
For non-Windows developers, the DTD file for the annotation listing XML file is available. The annotation listing file defines the list of annotation files available to download from the NetAffx web site. The DTD file is available in the NetAffx SDK Download section.
Application Programming Interfaces
The COM and Java programming interfaces are divided up into listing and data objects.
Also documented is the URL for the annotation listing. The list of available annotation files and their associated URLs are provided within the annotation listing.
Release Notes
The release notes below detail changes and other notes relevant to the release of the NetAffx SDK.
Release notes - NetAffx SDK Version 1.0
This version of the SDK function in either a COM or Java programming environment. Due to the use of the Java Native Interface (JNI) technology, the use of Java is limited to Java running on a Windows workstation.

The SDK includes application programming interfaces (APIs), redistributable runtime libraries, sample code, sample programs, and documentation to help you develop and write application capable of interfacing with the NetAffx web site.
Note: When prompted for 'What would you like to do with this file?' message after clicking to download, always have the 'Save this program to disk' radio button selected.
Please Note: All downloads are restricted to licensed SDK users.
SDK Downloads
A connection ID is required for interfacing with the NetAffx web site using the NetAffx API. You can request a connection ID from DevNet@affymetrix.com.
Please Note: All downloads are restricted to licensed SDK users.
NetAffx Redistributable Runtime Library, Version 1.0 (EXE, 3.0 MB)
This install program will install the runtime libraries required for applications developed using the NetAffx SDK.
NetAffx API, Version 1.0 (EXE, 1.1 MB)
This install program will install the type library files (TLB) required for developing against the NetAffx APIs. This installation program will also install the DTD file for the annotation listing XML file for non-COM and Java developers. The annotation listing XML file is used to define the list of annotation files that are available for download on the NetAffx web site.
Download VC++ Sample Programs
This install program will install the type library files (TLB) required for developing against the NetAffx APIs. This installation program will also install the DTD file for the annotation listing XML file for non-COM and Java developers. The annotation listing XML file is used to define the list of annotation files that are available for download on the NetAffx web site.
Download Java Sample Programs
These applications demonstrate the use of the programming interfaces in the NetAffx SDK. These are all built using Sun ONE Studio's Java IDE.
Download JavaDocs
This zipped download contains documentation on the application programming interfaces within the NetAffx SDK in JavaDoc form.
NetAffx Download Service (EXE, 2.9 MB)
This utility provides a Windows service to periodically query the NetAffx site using the NetAffx SDK and download the specified annotation files. Once downloaded the utility will email one or more users with a notification.

Overview
The IGDACNetAffxAnnotationListing object is used to retrieve the list of annotations and to retrieve the annotation files from the NetAffx web site.
Properties
ConnectionIdentifier |
|||||
|---|---|---|---|---|---|
Description |
An identifier used to connect to NetAffx. |
||||
Type |
BSTR |
||||
Access |
Write-only |
||||
Remarks |
This must be set prior to retrieving annotations from NetAffx. |
||||
UserName |
|||||
|---|---|---|---|---|---|
Description |
The user name to use to connect to NetAffx. |
||||
Type |
BSTR |
||||
Access |
Write-only |
||||
Remarks |
This must be set prior to retrieving annotations from NetAffx. |
||||
Password |
|||||
|---|---|---|---|---|---|
Description |
The users password to use to connect to NetAffx. |
||||
Type |
BSTR |
||||
Access |
Write-only |
||||
Remarks |
This must be set prior to retrieving annotations from NetAffx. |
||||
DataDirectory |
|||||
|---|---|---|---|---|---|
Description |
The directory where the annotations are to be downloaded to. |
||||
Type |
BSTR |
||||
Access |
Write-only |
||||
Remarks |
This must be set prior to retrieving annotations from NetAffx. |
||||
NumAnnotations |
|||||
|---|---|---|---|---|---|
Description |
The number of annotations available from NetAffx. |
||||
Type |
BSTR |
||||
Access |
Write-only |
||||
Remarks |
This value is set after the call to RetrieveAnnotationList(). |
||||
Methods
RetrieveAnnotationList |
|||||
|---|---|---|---|---|---|
Description |
Retrieves the list of available annotations from NetAffx. |
||||
Prototype |
HRESULT RetrieveAnnotationList([out, retval] BOOL *pStatus); |
||||
Parameters |
pStatus (out) - The return value. |
||||
Return |
HRESULT - S_OK if the method succeeded. |
||||
Remarks |
The RetrieveAnnotationList() function must be called prior to obtaining the information.
The index must be between 0 and the number of annotations (NumAnnotations). |
||||
GetAnnotation |
|||||
|---|---|---|---|---|---|
Description |
Returns an Annotation object for the given index. |
||||
Prototype |
HRESULT GetAnnotation([in] long index, [in] IGDACNetAffxAnnotation *pAnnotation); |
||||
Parameters |
index (in) - The index to the desired annotation file.
pAnnotation (in/out) - The information about the requested annotation. |
||||
Return |
HRESULT - S_OK if the method succeeded. |
||||
Remarks |
The RetrieveAnnotationList() function must be called prior to obtaining the information.
The index must be between 0 and the number of annotations (NumAnnotations). |
||||
RetrieveAnnotationFile |
|||||
|---|---|---|---|---|---|
Description |
Returns the annotation file for the given index. |
||||
Prototype |
HRESULT RetrieveAnnotationFile([in] long index, [out, retval] NETAFFX_DOWNLOAD_STATUS_TYPE *pStatus); |
||||
Parameters |
index (in) - The index to the desired annotation file. pStatus (out) - The return value.
|
||||
Return |
TRUE if successfully obtained the annotation file, FALSE otherwise. |
||||
Remarks |
The RetrieveAnnotationList() function must be called prior to obtaining the information. The index must be between 0 and the number of annotations (NumAnnotations). The name and location of the annotation file retrieved is available in the Annotation object using the GetAnnotation() function. The return value (pStatus) will either be DOWNLOAD_FILE_FAILED indicating a failure to download the file, DOWNLOAD_FILE_SUCCESS indicating that the file was successfully downloaded or DOWNLOAD_FILE_NOT_UPDATED indicating that the file is already cached in the data directory and an update was not required. |
||||

Overview
The IGDACNetAffxAnnotation object is used to store information about an annotation file available from the NetAffx web site.
Properties
Name |
|||||
|---|---|---|---|---|---|
Description |
The name of the annotation. |
||||
Type |
BSTR |
||||
Access |
Read-only |
||||
Remarks |
None |
||||
AnnotationType |
|||||
|---|---|---|---|---|---|
Description |
AnnotationType |
||||
Type |
BSTR |
||||
Access |
Read-only |
||||
Remarks |
None |
||||
FullPathName |
|||||
|---|---|---|---|---|---|
Description |
The full path name when the annotation file is to be downloaded. |
||||
Type |
BSTR |
||||
Access |
Read-only |
||||
Remarks |
None |
||||
ArrayType |
|||||
|---|---|---|---|---|---|
Description |
The array type associated with the annotation file. |
||||
Type |
BSTR |
||||
Access |
Read-only |
||||
Remarks |
None |
||||
DateTimeStamp |
|||||
|---|---|---|---|---|---|
Description |
The date and time associated with the annotation file. |
||||
Type |
BSTR |
||||
Access |
Read-only |
||||
Remarks |
None |
||||

Overview
The URL documented below will return an XML file which describes the list of annotations files available to download from the NetAffx web site. The DTD for the annotation listing XML file is available in the download section.
URL
The URL for the annotation listing is defined as:
- https://www.affymetrix.com/analysis/downloads/netaffxapi/GetFileList.jsp
The following parameters must be provided with the URL.
- licence - This is the licence key, or connection identifier, that is provided to the licensee of the SDK.
- user - This is the Affymetrix web account user name (email address).
- password - This is the password associated with the Affymetrix web account.

