Linking Your Website to Objects

We encourage interested parties to create links to BioCyc objects from other web sites. You may link to a BioCyc object directly by BioCyc object ID, or indirectly by a substring or EC number search.

Linking by Object ID

Linking by BioCyc object ID is the best strategy when you wish to hard-code a link to a specific object page. The easiest way to get the object ID is to just go to the the web page that you want to link to and copy the URL from there. The URL format is:<ORGID>/new-image?type=<type>&object=<object-id>

For gene and compound pages, there is a new URL format (the older format above is still acceptable and will redirect to this newer URL):<ORGID>&id=<object-id><ORGID>&id=<object-id>


  • <ORGID> is the ID for the organism dataset to use (e.g. ECOLI for EcoCyc, META for MetaCyc). This item may be omitted, in which case the organism defaults to EcoCyc.
  • <type> is one of COMPOUND (note: small molecules are of type COMPOUND), REACTION, ENZYME, GENE, PATHWAY, OVERVIEW, LOCUS-POSITION, or MAPTICK (the last two types will produce a genome map expanded to a particular gene location or to a particular map position respectively). <type> can also be the object ID for a chromosome (see below), to produce a genome map for that chromosome.
  • <object-id> can be obtained by examining the URL of the appropriate web page. If you are unable to determine an object ID for an item you wish to link to, send mail to and someone will get back to you. Note that if the type specified was OVERVIEW, then the object ID is not required and will be ignored.

You can also specify a gene for the object ID to instruct the genome browser to expand to a particular gene:

To obtain a spreadsheet file containing mappings to BioCyc object IDs, go to SmartTables→Special SmartTables, and choose the table you want (All compounds, All genes, All reactions, etc.). The table may already contain the ids you wish to map to (e.g. the All genes table includes accession ids). If not, add a Database Links property column, and select the database you want links for (note that links to UniProt are from gene products, not the genes themselves, so from the All genes SmartTable, you will first want to select the Product column before adding the Database Links property). Once you have the links you need in the table, select Export to Spreadsheet File from the Operations menu, and specify Frame ID as the output format (alternatively, you can add the Object ID property column to your table, and then export using any format you want).

Linking Indirectly

Indirect linking is the best strategy when you do not know the BioCyc object ID. This might be the case if a query is being generated dynamically, rather than as a hard-coded link. Indirect queries may return: (a) no objects, in which case a message appears to that effect, (b) one object, in which case the object is displayed, or (c) more than one object, in which case a list of matching objects is displayed. The number of objects returned by an indirect query may change as the data in the EcoCyc KB changes.

There are currently four types of indirect queries: queries by substring, queries by EC number, queries by UniProt identifier and queries by Accession number.

  • Substring queries can be used to access compounds, reactions (although many reactions lack names), enzymes, genes, and pathways. A substring query will match an object if it matches a substring of any known synonym of the object.

  • EC number queries can be used to access reactions or enzymes only, and a complete EC number match is required (i.e. you cannot submit a partial EC number with the intention of retrieving a whole class of reactions). There is a one-to-one correspondence between EC numbers and reactions, so each valid EC number should return exactly one reaction. There is no such correspondence between enzymes and EC numbers, so a particular EC number query on enzymes may return zero, one, or more than one enzyme.

  • UniProt queries can be used to access gene/protein pages. If the identifier matches in a selected PGDB (based on UniProt dblinks stored in the Protein frame of that PGDB), then it will navigate to that object page, or else it will return a message "This identifier is not found in the current database."

  • Accession queries can be used to access gene/protein pages. If the identifier finds a match in a selected PGDB (based on accession-1 and accession-2 values stored in the Gene frame of that PGDB), then it will navigate to that object page, or else it will return a message "This identifier is not found in the current database."

The URL format for substring and EC number queries is identical:<ORGID>/substring-search?type=<type>&object=<query-string>

where <ORGID> is as above, and <type> is one of COMPOUND, REACTION, ENZYME, GENE, or PATHWAY for substring searches, and either REACTION or ENZYME for EC number searches. <query-string> is either the substring or the EC number to search for. If your substring contains spaces, replace the spaces in the URL with +'s (you may also omit spaces and hyphens altogether, as they will not affect substring matching).

The format of the URL for UniProt identifier queries is:<ORGID>/uniprot-id-search?uid=<query-string>

where <ORGID> is as above, and <query-string> is the UniProt-id to search for.

The format of the URL for Accession queries is:<ORGID>/accession-search?acc=<query-string>

where <ORGID> is as above, and <query-string> is the Accession number to search for.


The following example URLs show the different ways of linking to entries in EcoCyc and MetaCyc.

Object ID Examples

Indirect Linking Examples