Ask HN: How to Get Started with Julia?

5 points by valarauko ↗ HN
Context: I'm a bioinformatician working primarily in Python. Most of the work is exploratory, and depends largely on Pandas & small functions for string manipulation. The vast python ecosystem doesn't really benefit me, and I've been curious about Julia for a while. Problem is, the resources I can find for learning Julia aren't really geared towards somebody like me. For all the talk about Julia being a general purpose language, a lot of the teaching material leans heavily towards mathematics. I've done like a course and a half on juliaacademy.com, and still not a word on string handling & manipulation - which makes up a big part of my work. The "Introduction to Computational Thinking" MIT course was quite nice, but was more maths than I could comfortably handle.

Is there a resource geared towards people like me, ideally something like https://pythonforbiologists.com (it's how I learnt python in the first place).

5 comments

[ 3.6 ms ] story [ 18.1 ms ] thread
Hey there! I'd say definitely check out https://github.com/BioJulia for a rich ecosystem of very high performance packages made by some bio-informaticians. This is a niche that has some great julia adoption and packages.

For learning the language, I'd honestly say just check out the manual, it's really nice: https://docs.julialang.org/en/v1/

I'd also encourage you to check out the Julia Zulip https://julialang.zulipchat.com/# and Discourse as two great places to engage the julia community.

Both of these places have a lot of traffic from some of your fellow bio-informaticians as well as lots of other domain experts and are very welcoming of new language learners.

I'd looked into BioJulia, but I don't really need packages for handling sequence data. I've never had to use the equivalent python packages either, since it's not really my field of bioinformatics - yet. Most of my work is ad-hoc analyses of non-genetic non-protein sequences, for which no packages currently exist in any environment. Mostly, I need a guide covering my usual use case of pandas & mostly string operations. How do I find substrings & replace them efficiently? How do you split a string with delimiters? Regular Expressions?

All the Julia guides I looked into were very heavy about in built mathematical operations, but didn't touch upon string operations. I'm sure I'll have to look up the documentation at some point anyway, but was wondering if there's a Julia guide for people like me.

I'm not in bioinformatics and don't do string processing, so I can't really help too much here.

I'd really urge you to come ask this on the julia Discourse Forum or Zulip and I promise you'll get high quality useful responses from people who understand your needs better than I.

> How do I find substrings & replace them efficiently? How do you split a string with delimiters? Regular Expressions?

This is something that the BioJulia people have put a lot of work into. Yes, you can use regular expressions, but they've managed to squeeze a lot of performance out of more specialized approaches, e.g.

https://github.com/BioJulia/Automa.jl

https://github.com/jakobnissen/ScanByte.jl

But for more straightforward usage, julia has the `findfirst` function which can search for occurrences of a substring, `replace` which can do replacements either with a literal pattern or a regex, and `split` which can split a string with delimiters.

Thank you!

Automa.jl & ScanByte.jl sound like a good fit for some of the future projects I have lined up. My current needs are fairly simple, and I can work with stuff like `findfirst` and `split`. It was more an issue that string handling wasn't covered in any of the Julia courses I did, geared as they were towards mathematics. DataFrames.jl would probably cover 80% of my other needs.