Comments (9)
Okay, let me know if I can help
from taxa.
Ok, thanks!
from taxa.
Hi @sckott. So this is finally done. Sorry it took so long. Everything is working as far as I can tell and all the new functions have examples that you can test out. There are no tests yet and I have not perfected the documentation since I wanted your input before investing more time in the details, but there is hopefully enough there for you to get what I am going for.
I know there is a lot of changes in this branch. Normally I would make change more incrementally, but most of the added functions are part of a theme or depend on each other. Most of this seems intuitive to me, but I have been thinking about it for a while so its hard for me to gauge how easily others will understand it. Feel free to suggest or make changes, even ones that fundamentally alter or remove things.
The taxmap.R
is huge now and needs to be split up, but im not sure how best to do that.
This is the last part of metacoder I plan on migrating to taxa, so taxa can be developed in a more regular incremental way now since most of the building blocks are in place. I have lots of ideas for minor improvements that I would like your input on, but too many to discuss in one issue. If you like the overall structure of what I did so far, I will make new issues for each idea independently.
from taxa.
No worries about the time.
Great news. Will have a look through the pull request, and see if anything we should change.
The
taxmap.R
is huge now and needs to be split up, but im not sure how best to do that.
taking a look at it now, first thing to do is to split out helper functions in that file into other files as makes sense.
I suppose you're also or primarily referring to the Taxmap
class - which yeah is pretty big. A few thoughts on that:
- could use inheritance in R6 https://cran.rstudio.com/web/packages/R6/vignettes/Introduction.html#inheritance - if that makes sense in this case, haven't thought about it enough to know
- i see a number of helper functions inside the
Taxmap
class that could be pulled out and put elsewhere since they aren't usingself
references
from taxa.
could use inheritance in R6 ...
Perhaps. A few of the functions that only deal with taxon relationships could be reinstalled in the taxonomy
class, but some would have to be partially overwritten by taxmap
since they have options that affect the data
variable in taxmap
, even if that is not their main effect (e.g. filter_taxa
). Im not sure if there is much room conceptually to put a class in between taxonomy
and taxmap
, but I am open to ideas.
i see a number of helper functions inside the Taxmap class that could be pulled out and put elsewhere ...
Yea, I think this should be done. There are also some similar chunks of code shared by multiple functions that could be made into helper functions I think.
from taxa.
for R6 inheritance, i've no idea if that even makes sense in this case, its just the only thing i can think of to allow breaking up Taxmap
into smaller parts
Yea, I think this should be done.
cool, always a fan of DRYing out code
from taxa.
Seems like this issue is done, right? can I close?
If you like the overall structure of what I did so far, I will make new issues for each idea independently.
sounds good to open new issues
from taxa.
Yea, it can be closed
from taxa.
thanks
from taxa.
Related Issues (20)
- taxonomy_table function issue with add_id_column parameter. HOT 1
- Support matrix data type in parsers and subsetting functions
- news HOT 1
- Print method idea: tidy lists
- Is a `head` function needed for `taxmap`? HOT 2
- `taxa`: way to do operations on objects within it HOT 4
- Vectorizing some classes and reorganizing inheritance hierarchy HOT 49
- possible to put taxize in Suggests? HOT 2
- Assign taxon_rank based on n_supertaxa HOT 1
- Function to produce html/latex table of taxonomic and associated data ? HOT 3
- use cases section a bit outdated HOT 4
- HTTP errors when parsing long taxon_id list HOT 12
- No taxon_rank information when parsing from NCBI taxonomy HOT 1
- import of taxdump files HOT 3
- Error: Failed to install 'taxa' from GitHub HOT 1
- error in db_ref$get() after using $set() HOT 2
- creating a taxonomy database for PR2 HOT 10
- Error when using parse_tax_data function HOT 1
- Issues with CRAN check on 2022-03-10 HOT 1
- vctrs revdep issues HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from taxa.