The first two columns are the same as in PB-1071, so I've included all of the relations from the list there. Not all are used in extensions as of the v37 GAF, and of the ones in use not all are used with PomBase gene IDs.

||name||display text||reciprocal annotation display text, or comment||
activated_by	activated by	N/A (only used with ChEBI IDs; could use 'activates')
dependent_on	dependent on	Do we want to capture a reciprocal for this? At present there's only one with a PomBase ID, and for a reciprocal annotation to make sense it would have to include the GO term from col5 as well.
during	during	N/A (only used with GO IDs)
exists_during	during	N/A (only used with GO IDs)
happens_during	during	N/A (only used with GO IDs)
has_part	has part	N/A (only used with SO IDs)
has_regulation_target	regulates	regulated by
in_presence_of	in presence of	Do we want to capture a reciprocal for this? At present there are only two with PomBase IDs, and for a reciprocal annotation to make sense it would have to include the GO term from col5 as well.
independent_of	independent of	N/A (not used at present, and if used, reciprocal would require GO term as well as PomBase ID)
inhibited_by	inhibited by		N/A (only used with ChEBI IDs; could use 'inhibits')
localization_dependent_on	localized by (or could use 'localization requires')	localizes
not_dependent_on	not dependent on	N/A (only used with GO IDs)
not_during	except during	N/A (only used with GO IDs)
not_exists_during	except during	N/A (only used with GO IDs)
not_happens_during	except during	N/A (only used with GO IDs)
not_occurs_at	not at	N/A (not used with PomBase IDs; mix of GO, SO, CL)
not_occurs_in	not in	N/A (not used with PomBase IDs; mix of GO, SO, CL)
occurs_at	at	N/A (not used with PomBase IDs; mix of GO, SO, CL)
occurs_in	in	N/A (not used with PomBase IDs; mix of GO, SO, CL)
part_of	part of	N/A (only used with CL IDs)
requires_direct_regulator	requires direct regulation by	directly regulates
requires_localization	only when located at	N/A (only used with GO IDs)
requires_modification	only with modification	N/A (only used with MOD IDs ... and those annotations should eventually be converted to using PR IDs in col17 instead)
requires_regulation_by	requires regulation by	regulates (note: not used at present)
requires_regulator	requires	regulates
requires_sequence_feature	requires		N/A (only used with Pfam or SO IDs)
requires_substance	requires	N/A (only used with ChEBI IDs)
requires_target_sequence_feature	requires feature in target	N/A (not used at present, and would only used with Pfam IDs)
stabilizes	stabilizes	N/A (not used at present)

For some relations, the best display string depends on term and its ancestry. These relations are affected:
has_input, has_direct_input, has_indirect_input
and the desired display for any of the three would be:
if descendent of	display
GO:0003824 catalytic activity	has substrate	substrate of
GO:0006810 transport	transports	transported by
GO:0005215 transporter activity	transports	transported by
GO:0005488 binding	binds	binds
GO:0051179 localization	localizes	localized by

For phenotypes, the only extensions that will need reciprocal annotations use the assayed_using relation. The simplest way to display them would be to gloss over overexpression/knockdown of wild type (counting on users to be smart enough to figure out what's going on), and jsut use one display text snippet:

name	display text	reciprocal annotation display text
assayed_using	affecting	affected by mutation in

But there are a couple of other options.
- We could use a longer, clunkier display text, e.g. 'affected by mutation or expression change in'
- The display conversion code could do something sophisticated like "if the allele is wild type (and therefore expression must be overexpression or knockdown), use 'affected by expression change in'; otherwise use 'affected by mutation in'"

----------
This is a more minimal list, covering just relations that (a) are in use and (b) would yield sensible reciprocals. For more, see annotation_extension_reciprocal_notes.txt.

name	display text	reciprocal annotation display text
has_regulation_target	regulates	regulated by
localization_dependent_on	localized by	localizes
requires_direct_regulator	requires direct regulation by	directly regulates
requires_regulator	requires	regulates
assayed_using	affecting	affected by mutation in

For has_input, has_direct_input, has_indirect_input, it's more a case of "if we're displaying X for the annotation, the reciprocal should display Y", so:

relation displayed as	reciprocal displayed as
has substrate	substrate of by
transports	transported by
binds	binds
localizes	localized by