Git Product home page Git Product logo

phylo-rs's Introduction

Hi there, I'm Sriram ๐Ÿ‘‹

  • ๐Ÿ”ญ Iโ€™m currently working on AI in Bioinformatics.
  • ๐ŸŒฑ I love to code and contribute to Open Source.
  • ๐Ÿ’ฌ Ask me anything regarding my work, code and research here.

Languages and Tools:

Python

PyTorch

TensorFlow

Rust

Github

Arch Linux



sriram98v's github stats Top Langs


sriram98v

phylo-rs's People

Contributors

sriram98v avatar swagle8987 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

sno2

phylo-rs's Issues

unrooted tree traits

  • [] get_nodes
  • [] get_leaves
  • [] is_leaf
  • [] graft()
  • [] prune()
  • [] get_subtree
  • [] phylogenetic_distance_matrix
  • [] root_at_node
  • [] root_at_edge
  • [] insert_internal_node

Refactoring Data Types (Draft)

Just trying to refactor to scratch an itch because I think the node type can be simplified

For now the current proposal I have has the following changes

  • Consolidate NodeType and NodeID into a node struct :: Essentially we combine them into a node struct that has nodeid, is_leaf as a boolean and label as a taxa. We are handling these cases anyways for nodes in the tree structure so this is more cosmetic rather than performance based. To avoid performance hits with all the other hashmaps, the struct will hash by its id and is equivalent to its id. This ties into the point below
  • Use usize instead of NodeID :: For all the functions that use &NodeID(which effectively translates to a pointer to a usize integer) we could instead just keep the usize type directly since it has move semantics avoiding another area where the users might have to grapple with the borrow checker.
  • Children is now HashMap<usize, HashMap<usize,Option> :: Simply because you cannot have two edge weights to the exact same node. Enforcing it as a HashMap also allows for faster updates.

P.S. - Is rustfmt a part of automatic actions? We might want to add that as either an automatic action or simply as best practice.

Let me know if all these make sense.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.