Skip to content

Add prefix: eccDNA - #1366

Open
nalikapalayoor wants to merge 10 commits into
biopragmatics:mainfrom
nalikapalayoor:eccDNA
Open

Add prefix: eccDNA#1366
nalikapalayoor wants to merge 10 commits into
biopragmatics:mainfrom
nalikapalayoor:eccDNA

Conversation

@nalikapalayoor

Copy link
Copy Markdown
Contributor

This pull request curates a new prefix eccDNA, which is a database based on single-cell whole genome sequencing data. This PR adds necessary metadata to bioregistry.json and adds the curated paper to currated_papers.tsv

https://pubmed.ncbi.nlm.nih.gov/39693568/

Comment thread src/bioregistry/data/bioregistry.json Outdated
Comment thread src/bioregistry/data/bioregistry.json Outdated
Comment thread src/bioregistry/data/bioregistry.json Outdated
"github_request_issue": 1366,
"homepage": "https://lcbb.swjtu.edu.cn/scEccDNAdb/",
"name": "Single Cell ECC DNA Database",
"pattern": "^ecDNA_[a-z]+_\\d+$",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's surprising that the resource is called eccdna but the identifier has ecDNA with one fewer c

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, I realize now that it's even more complicated. The example ID is valid
image

but looking further, there are actually other ID's that use ecc as a prefix:

image

😮

So the regex pattern will need to be slightly adjusted and we can add an extra example.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For future reference, there are two types of entries: ecDNA (extrachromosomal DNA) and eccDNA (extrachromosomal circular DNA) so the ID pattern makes sense. I added an extra example to show both types.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a problem: for the eccDNA_* case:

            for example in entry.example_extras:
                with self.subTest(prefix=prefix, identifier=example):
>                   self.assertEqual(entry.standardize_identifier(example), example)
E                   AssertionError: 'hsa_35832' != 'eccDNA_hsa_35832'
E                   - hsa_35832
E                   + eccDNA_hsa_35832

This has to do with some core code in standardize_identifier that automatically strips off the prefix if followed by a _ at

elif icf.startswith(f"{self.prefix.casefold()}{peel}"):
return identifier[len(self.prefix) + len(peel) :]
. This might have to be changed since in this case we wouldn't want to apply it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Set "banana_peel": "", to get around this

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately _ is hard-coded as an additional potential banana peel here:

peels = [self.get_banana_peel(), "_"]
so that won't work by itself.

@codecov

codecov Bot commented Jan 21, 2025

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 46.27%. Comparing base (8950e70) to head (a60e5bc).
Report is 278 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1366      +/-   ##
==========================================
+ Coverage   42.51%   46.27%   +3.76%     
==========================================
  Files         117      118       +1     
  Lines        8327     8302      -25     
  Branches     1963     1357     -606     
==========================================
+ Hits         3540     3842     +302     
+ Misses       4582     4275     -307     
+ Partials      205      185      -20     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Comment thread src/bioregistry/data/bioregistry.json Outdated
"example": "ecDNA_hsa_01",
"github_request_issue": 1366,
"homepage": "https://lcbb.swjtu.edu.cn/scEccDNAdb/",
"name": "Single Cell ECC DNA Database",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please write out non-obvious acronyms like ECC in full in the title

Comment thread src/bioregistry/data/bioregistry.json Outdated
"name": "Nalika Palayoor",
"orcid": "0009-0008-8406-631X"
},
"description": "scEccDNAdb is a database of single cell eccDNA entries of human and mouse samples, each with a unique identifier and features such as oncogenes, enhancers, and structural variants.",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is an eccDNA? why do we care about them?

@bgyori bgyori added the blocked label Feb 12, 2025
@cthoyt cthoyt added Prefix New Used in combination with prefix, metaprefix, or collection for new entries labels Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked New Used in combination with prefix, metaprefix, or collection for new entries Prefix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants