Profile avatar
tommytang.bsky.social
Director of computational biology. On my way to helping 1 million people learn bioinformatics. Educator, Biotech, single cell. Also talks about leadership. tommytang.bio.link
1,494 posts 3,465 followers 1,335 following
Regular Contributor
Active Commenter
comment in response to post
I hope you've found this post helpful. Follow me for more. Subscribe to my FREE newsletter divingintogeneticsandgenomics.ck.page/profile
comment in response to post
Key takeaways: • Expertise is specific, not universal • Social media = valuable learning tool • Save & study what you find • "I don't know" = strength, not weakness
comment in response to post
The best experts I know are also the most eager learners. They're the first to say "I don't know, but let's figure it out together" (7/8)
comment in response to post
Pro tip: Create an "Insights" folder in your email. Forward interesting posts there. I review mine weekly - it's become my personal knowledge bank (6/8)
comment in response to post
Real example: A post about batch effects in scRNA-seq changed how I approach QC. Being humble enough to learn from others unlocked better analysis (5/8)
comment in response to post
Social media isn't just for memes. Critical single-cell insights like "UMAP distances aren't meaningful" - I learned these from Twitter threads (4/8)
comment in response to post
Personal story: I was comfortable with bulk RNA-seq analysis, but when I first saw spatial transcriptomics, I felt like a beginner again. That's normal! (3/8)
comment in response to post
Truth: Bioinformatics is like an ocean. RNA-seq, proteomics, single-cell, structural biology - each could be a lifetime of study. No one masters it all (2/8)
comment in response to post
I hope you've found this post helpful. Follow me for more. Subscribe to my FREE newsletter divingintogeneticsandgenomics.ck.page/profile
comment in response to post
7/ Have you ever struggled with hidden characters messing up your analysis? Share your experience below! ⬇️
comment in response to post
6/ Key Takeaways: ✅ Always check for hidden characters in new datasets ✅ Use cat -A or sed -n l to reveal them ✅ On Mac, install GNU core utilities (brew install coreutils) and use gcat -A
comment in response to post
5/ Why does this matter in bioinformatics? • Hidden tabs can cause extra columns in CSV/TSV files • Some programs expect spaces but get tabs (or vice versa) • Data parsing in R/Python may fail due to inconsistent delimiters
comment in response to post
4/ Another method: sed -n l sed -n l data.tsv Output: ID\thead1\thead2\thead3\thead4$ 1\t25.5\t1364.0\t22.5\t13.2$ Here, tabs appear as \t, making them easier to spot.
comment in response to post
Example output: ID^Ihead1^Ihead2^Ihead3^Ihead4$ 1^I25.5^I1364.0^I22.5^I13.2$ 2^I10.1^I215.56^I1.15^I22.2$ 🔹 ^I represents tabs 🔹 $ marks end of line
comment in response to post
3/ How to reveal hidden characters? Use cat -A to make them visible: cat -A data.tsv
comment in response to post
2/ These hidden characters can cause issues when parsing files in bash, Python, R, or awk, leading to: ❌ Unexpected column misalignment ❌ Scripts failing silently ❌ Incorrect data extraction
comment in response to post
1/ In UNIX, files often contain hidden characters like tabs (\t), spaces, carriage returns (\r), and invisible newlines.
comment in response to post
I hope you've found this post helpful. Follow me for more. Subscribe to my FREE newsletter divingintogeneticsandgenomics.ck.page/profile
comment in response to post
Key takeaways: • Restart first, debug later • Fresh sessions = reproducible science • Trust the computer, question your code • Document ALL dependencies
comment in response to post
Try this: Before any important analysis: • Restart R/Python • Clear all variables • Run entire script This catches hidden bugs early (8/9)
comment in response to post
Pro tip for reproducibility: Can your analysis run from start to finish in a fresh session? If not, you might have hidden dependencies 🔍 (7/9)
comment in response to post
Here's a truth bomb: When code fails, it's rarely the computer's fault. 99.9% of the time, it's human error. Restart helps you spot YOUR mistakes (6/9)
comment in response to post
Another case: Memory-intensive genomic analysis crashing randomly. After restart + fresh session: smooth sailing. Always clear your workspace! (5/9)
comment in response to post
Real example: One student had different versions of ggplot2 loaded in the same session. Plots kept failing. Restart = clean slate = problem solved (4/9)
comment in response to post
Think of your R/Python session like a kitchen: The longer you cook, the messier it gets. Variables conflict, packages clash, memory fills up (3/9)
comment in response to post
As a bioinformatics trainer, I've seen countless "mysterious" bugs vanish after a simple restart. Here's the science behind why this works (2/9)
comment in response to post
Is it possible to still have password less log in if you set the passphrases?
comment in response to post
Key takeaways: 1. Set up SSH keys NOW 2. Never share private keys 3. Use ssh-copy-id for servers Action: Set up keys for all your frequently accessed systems
comment in response to post
True story: Watched a researcher manually type passwords 50+ times/day for a year. SSH keys cut their login time from 30s to 2s each time
comment in response to post
Test it: ``` ssh username@remote-server ``` If it works without password, you're set!
comment in response to post
Common errors: - Wrong permissions (too open) - Missing .ssh directory - Pasting private key instead of public These break SSH security
comment in response to post
Pro tip: If authorized_keys doesn't exist, create it: ``` touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys ```
comment in response to post
Add your key to authorized_keys: ``` echo "your-copied-public-key" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys ```
comment in response to post
On remote server, create/check .ssh directory: ``` mkdir -p ~/.ssh chmod 700 ~/.ssh ``` This sets correct permissions
comment in response to post
But what if ssh-copy-id isn't available? Here's the manual way: 1. First, copy your public key: ``` cat ~/.ssh/id_ed25519.pub ```
comment in response to post
To set up passwordless login: ``` ssh-copy-id username@remote-server ``` Enter password ONE LAST TIME. Done! That's it! Try logging in - no password needed
comment in response to post
Your keys are now in ~/.ssh/: - id_ed25519 (private key - keep secret!) - id_ed25519.pub (public key - share this)
comment in response to post
Quick setup guide: 1. Open terminal 2. Run: ssh-keygen -t ed25519 3. Press enter (empty passphrase for passwordless) This creates your key pair
comment in response to post
Real world uses: - Logging into HPC clusters - Managing GitHub repos - Accessing cloud VMs - Secure file transfers Without typing passwords!
comment in response to post
SSH keys are like digital fingerprints - unique pairs of files that let computers recognize you. Think of it as your computer's passport