``````

In [1]:

"A"

``````
``````

Out[1]:

"A"

``````
``````

In [2]:

"ACGT"

``````
``````

Out[2]:

"ACGT"

``````
``````

In [3]:

st = "ACGT"

``````
``````

Out[3]:

"ACGT"

``````
``````

In [4]:

length(st) # getting the length of a string

``````
``````

Out[4]:

4

``````
``````

In [5]:

"" # empty string (epsilon)

``````
``````

Out[5]:

""

``````
``````

In [6]:

length("")

``````
``````

Out[6]:

0

``````
``````

In [7]:

"ACGT"[rand(1:4)] # generating a random nucleotide

``````
``````

Out[7]:

'G': ASCII/Unicode U+0047 (category Lu: Letter, uppercase)

``````
``````

In [8]:

"ACGT"[rand(1:4)] # repeated invocations might yield different nucleotides

``````
``````

Out[8]:

'C': ASCII/Unicode U+0043 (category Lu: Letter, uppercase)

``````
``````

In [9]:

"ACGT"[rand(1:4)] # repeated invocations might yield different nucleotides

``````
``````

Out[9]:

'A': ASCII/Unicode U+0041 (category Lu: Letter, uppercase)

``````
``````

In [10]:

"ACGT"[rand(1:4)] # repeated invocations might yield different nucleotides

``````
``````

Out[10]:

'G': ASCII/Unicode U+0047 (category Lu: Letter, uppercase)

``````
``````

In [11]:

"ACGT"[rand(1:4)] # repeated invocations might yield different nucleotides

``````
``````

Out[11]:

'C': ASCII/Unicode U+0043 (category Lu: Letter, uppercase)

``````
``````

In [12]:

# now I'll make a random nucleotide string by concatenating random nucleotides
st = join(["ACGT"[rand(1:4)] for _ in 1:40])

``````
``````

Out[12]:

"ATCGGATTCGTAAGTTAGTCGGCAGGTACGCCTTTCGCTG"

``````
``````

In [13]:

st[2:4] # substring from position 2 up to (not including) position 4

``````
``````

Out[13]:

"TCG"

``````

In Julia, the lowest offset is 1! Unlike C, Java, Python, Go. But like R.

Also, ranges like `2:4` are inclusive at both ends. `2:4` asks for the part of the string from offset 2 through offset 4.

``````

In [14]:

st[1:3] # prefix of length 3

``````
``````

Out[14]:

"ATC"

``````
``````

In [15]:

st[length(st)-2:length(st)] # suffix of length 3

``````
``````

Out[15]:

"CTG"

``````
``````

In [16]:

st[end-2:end] # another way of getting the suffix of length 3

``````
``````

Out[16]:

"CTG"

``````
``````

In [17]:

st1, st2 = "CAT", "ATAC"

``````
``````

Out[17]:

("CAT", "ATAC")

``````
``````

In [18]:

st1

``````
``````

Out[18]:

"CAT"

``````
``````

In [19]:

st2

``````
``````

Out[19]:

"ATAC"

``````
``````

In [20]:

st1 * st2 # concatenation of 2 strings

``````
``````

Out[20]:

"CATATAC"

``````