This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Programming language to know when using bioinformatic tools such REPET

Hello folks, which programming language should someone know when getting into the field of bioinformatic. I would like to use bioinformatic tools/pipelines such as REPET, Bedtools etc...but I am confused when looking at these symbols that are used, I am knew in this field, I am very lost. Please assist me, I need this for my research study.

r

If you were not going to process a ton of samples no programming knowledge is strictly needed to use bioinformatics tools. You may even be able to get by using pipelines/workflows prepared by others as long as you have knowledge of basic input/output and an ability to look at/properly decipher log files. Good tools will always have in-line help available and/or good online manuals. You will need to spend time familiarizing yourself on how to correctly use/apply various options for tools you select. Goes without saying that you need to find the right software tool for the job at hand.

That said learning a programming language (e.g. python) will make your life easier by allowing you to automate some of these tasks that you would otherwise be doing manually. This is both a time saver and a way to make your analyses reliable/reproducible.

Thank you so much, It's just that I become so confused when it comes to these things of symbols e.g () * ! <> " I feel stupid at some point coz I can't proceed with anything, but I will keep pushing.

Hang in there. You will do fine. I suggest that you learn the basics of unix first. Here is one simple tutorial. This will make things easier to understand as you wade into more complicated programs.

Aim to get comfortable with:

  • The command line (this is not strictly a 'language', but will rely heavily on bash).
  • R or Python are excellent starter languages for bioinformatics. You are unlikely to find much you can't accomplish with one or both.

2 answers

More than languages you need some workflow control, this is generally done in Bash, but you can also use some pipeline tools like snakemake, nextflow and others.

You don't have to know any programming language to use bedtools. You have to understand how to write a command line, and how to learn from help documents how to construct a command line for your individual program

They usually look something like

program -p 8 -a input.txt output.txt

Elements prefaced with one dash (if it's a single letter) or two dashes (more than one letter) are options. Options might or might not be followed by whatever you are setting that option to. (In my example, I'm setting the -p to 8, and -a is just turned on) Inputs and outputs might be indicated with no preceding options, or they might be preceded with options like -i and-o. You have to look at the help documents to know exactly what syntax your software is expecting.

Log in to answer this question.