{
$locus = $loci[0];
}
- else # no match; attempt to use the Gene Synonym instead
+ else # no match; attempt to use the Gene Symbol instead
{
if ($curr_line_hash{"db_object_symbol"} =~ /[Aa][Tt].[Gg]/)
{
# chromosome = third char in locus, if it exists
my $chromosome = ($locus ne "" ? (split('',$locus))[2] : "");
+ # set some sort of pseudo-unique value as the accession id,
+ # in order of succession: locus, then symbol
+ # (note: this is dangerous; a stable identifier is preferred)
+ my $accession_id =
+ $locus ? $locus : $curr_line_hash{"db_object_symbol"};
+
# set up props
my $annotation_properties = {
+ "Accession ID" => $accession_id,
"Gene Name" => $curr_line_hash{"db_object_name"},
- "Gene Locus" => $locus, # also used for Source Accession ID
+ "Gene Locus" => $locus,
"Chromosome" => $chromosome,
"Gene Synonyms" => $curr_line_hash{"db_object_synonym"} # pipe-delimited string
};
$writer->startTag("Template",Name=>"Provenance_Repeater");
$writer->dataElement("Field", $_, Name=>"Source Field");
$writer->dataElement("Field", "Annotation", Name=>"Source Template");
- $writer->dataElement("Field", $annotations{$annotation}{"Gene Locus"}, Name=>"Source Accession ID");
+ $writer->dataElement("Field", $annotations{$annotation}{"Accession ID"}, Name=>"Source Accession ID");
$writer->dataElement("Field", "Source:$SOURCE_TITLE_SEED", Name=>"Source");
$writer->endTag("Template");
}