2024‐08‐20 Tuesday Meeting Notes - TheEvergreenStateCollege/bioinformatics GitHub Wiki

2024-08-20 Tuesday Meeting Notes

Dom, Rain, Paul

Rust Memory Loader / Unloader

struct LoadContainer<ID, DATA, LOAD, UNLOAD>
where 
    LOAD: FnMut(ID) -> Result<DataAndStatus,Error>,
    UNLOAD: FnMut(DATA) -> Result<Error>,
{
    raw: Vec<DATA>,       //data container
    index: Vec<ID>,       //stores index values. hash map?
    load:  LOAD,          //function (closuer) for loading data in whatever way
    unload: UNLOAD        //function (closuer) for unloading data, depending.
}
#[test]
    fn init() {
        let mut storeage: HashMap<u32, i32> = HashMap::new();
        let mut idcounter = 0;

        let load_test_closer = |ID: u32| -> i32 
        {
            match storeage.get(&ID)
            {
                Some(i) => *i, 
                None => panic!("ID not found!"),
            }
        };

        let unload_test_closer = |Data: i32 | 
        {
            idcounter = idcounter +1;
            storeage.insert(idcounter, Data);
        };

        let loader = LoadContainer::new(load_test_closer, unload_test_closer);

    }
pub trait Loader<ID, DATA> {
    fn load(&mut self, ID);
    fn unload(&mut self, DATA);
}

Dom's intention:

  • Responsibility of LoadContainer is to keep track of whether something is in memory
    • what does an error mean here?
    • how do you surface that to the caller
  • Something else is responsible for doing the actual loading and unloading at the request of LoadContainer.
    • sqlx queries could go in here
    • what does an error mean here?
    • how do you surface that to the caller

Dom owes us what this something else is, in an architecture diagram and code examples of how to usage.

Ricard's Pull Request

https://github.com/TheEvergreenStateCollege/smarty-plants/pull/46/files

Dom will start a code review and ask questions / for changes.

image

Rain

Currently working on only displaying suffix tree inside view box, but when scrolling back to a previous portion, that part of suffix tree is truncated.

Possibility: d3 updating / refreshing / redrawing if underlying dataset changes,

Paul

on sqlx

Satisfying Conclusion, September 26th

The current contract and summer work period will end on September 26th.

Let's work on getting our work publicly hosted and viewable by then.

  • Suffix tree visualizer on a public URL

  • Finish processing entire transcriptome using memory loading/unloading and SQL database.

  • Think about how to portray / describe this work experience in your CV / resume

  • Plan your next step, apply for jobs / internships now.

  • Public URL for your portfolio

    • github for smarty plants
    • visualizer itself
    • Smarty Plants website, how to visualize / portray the memory loading/unloading on a website
      • definitely a description / diagram of the data structures and algorithms
⚠️ **GitHub.com Fallback** ⚠️