# How do I insert a specific string into a BioSequences DNA string?

**URL:** https://discourse.julialang.org/t/how-do-i-insert-a-specific-string-into-a-biosequences-dna-string/86694
**Category:** Specific Domains
**Tags:** question, biology
**Created:** [September 2, 2022, 3:22pm UTC](https://discourse.julialang.org/t/how-do-i-insert-a-specific-string-into-a-biosequences-dna-string/86694 "2022-09-02T15:22:22Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![zhangchunyong](https://avatars.discourse-cdn.com/v4/letter/z/d9b06d/32.png) [@zhangchunyong](https://discourse.julialang.org/u/zhangchunyong)
#### Post date: [September 2, 2022, 3:22pm UTC](https://discourse.julialang.org/t/how-do-i-insert-a-specific-string-into-a-biosequences-dna-string/86694/1 "2022-09-02T15:22:22Z")

</div>

```julia
using BioSequences
julia> a=dna"ATCG"
4nt DNA Sequence:
ATCG
julia> insert!(a,2,'C')
5nt DNA Sequence:
ACTCG

```

But if I inserted more than one chars,it will fail.

```julia
julia> insert!(a,2,"CG")
ERROR: MethodError: Cannot `convert` an object of type String to an object of type DNA

julia> insert!(a,2,dna"CG")
ERROR: MethodError: Cannot `convert` an object of type LongDNASeq to an object of type DNA

```

 ![image](https://global.discourse-cdn.com/julialang/original/3X/1/c/1c71e99a77c63d8a763481bd6501e922de6b326f.png)

How to do to insert a string to a string?Or only by pasting strings,can it be solved?Or insert one by one?Thanks for helping me !

---

<div class="post-metadata">

### Author: ![Ashlin\_Harris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ashlin_harris/32/210166_2.png) [@Ashlin\_Harris](https://discourse.julialang.org/u/Ashlin_Harris)
#### Post date: [September 2, 2022, 4:40pm UTC](https://discourse.julialang.org/t/how-do-i-insert-a-specific-string-into-a-biosequences-dna-string/86694/2 "2022-09-02T16:40:51Z")

</div>

Since `insert!` isn’t defined over these types, here is one workaround:

```julia
using BioSequences

a=dna"ATCG"

a = a[begin:1] * dna"CG" * a[2:end]

```

This function might be useful for repeating the task, although it returns a new sequence rather than editing one in place:

```julia
function insert_at(original, i, new)
    return original[begin:i-1] * new * original[i:end]
end

```
