diff --git a/misc-scripts/xref_mapping/XrefParser/RefSeq_CCDSParser.pm b/misc-scripts/xref_mapping/XrefParser/RefSeq_CCDSParser.pm index 55196e76286c8e1757b633932cbdb92b0442b8d3..62a2f0316ef7b23181d54d39222299fff8273de4 100644 --- a/misc-scripts/xref_mapping/XrefParser/RefSeq_CCDSParser.pm +++ b/misc-scripts/xref_mapping/XrefParser/RefSeq_CCDSParser.pm @@ -14,6 +14,8 @@ sub run { my $refseq_io = $self->get_filehandle($file); + my $dna_pred = XrefParser::BaseParser->get_source_id_for_source_name("RefSeq_dna_predicted"); + if ( !defined $refseq_io ) { print "Could not open $file\n"; return 1; @@ -76,11 +78,15 @@ sub run { $seen{$refseq} = 1; my $key = "CCDS".$ccds; if(defined($ensembl_stable_id{$key})){ - my $xref_id = $self->add_xref($refseq, $version{$refseq} , $label{$refseq}||$refseq , - $description{$refseq}, $source_id, $species_id); - $self->add_direct_xref($xref_id, $ensembl_stable_id{$key}, $ensembl_type{$key}, ""); - $old_to_new{$old_xref{$refseq}} = $xref_id; - $xref_count++; + my $new_source_id = $source_id; + if($refseq =~ /^XM/){ + $new_source_id = $dna_pred; + } + my $xref_id = $self->add_xref($refseq, $version{$refseq} , $label{$refseq}||$refseq , + $description{$refseq}, $new_source_id, $species_id); + $self->add_direct_xref($xref_id, $ensembl_stable_id{$key}, $ensembl_type{$key}, ""); + $old_to_new{$old_xref{$refseq}} = $xref_id; + $xref_count++; } } }