# How titus organizes projects and files --- ## Directories - always linked to a git(hub) repository; - named `YEAR-LONG_PROJECT_NAME` so that I can search for them; - for big projects: `scripts/`, `workflows/`, `notebooks/`, `inputs/` and `outputs/`; - sometimes I will copy or link data into `data/`, other times I'll just refer to an absolute path. ...and that's about it. I don't believe there's one perfect organizational scheme and just constantly refactor my project until it's done or I abandon it. --- ## A spectrum of code Maybe a more useful spectrum to communicate: - most of my code: janky scripts or notebooks full of code fragments - sometimes that moves to: a reusable script that (often) sits in its own github repo - rarely: I bundle the code into an installable application or library so that others can use it with standard mechanisms; - almost never: I thoroughly test, maintain, document, and update the app/library; --- ## Papers I like [Best Practices for Scientific Computing](https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745), Wilson et al., 2014. [Ten simple rules for making research software more robust](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005412), Taschuk and Wilson, 2017 [Good enough practices in scientific computing](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005510), Wilson et al., 2017. [Principles for data analysis workflows](https://journals.plos.org/ploscompbiol/article?id=10.1371%2Fjournal.pcbi.1008770), Stoudt et al, 2021
{"title":"How titus organizes things","description":"tags: bcb298","contributors":"[{\"id\":\"fbac64b8-20e4-4eb4-85a6-d4048a601d72\",\"add\":1620,\"del\":20,\"latestUpdatedAt\":1769636017151}]"}
    82 views