In this case, the reshape command only works if the initial vector is of length 1024, because then you can reorder it into a matrix with column length 512. You can check the length of a vector with length(list_of_vector).

Here is the full example

morgan_fp = randn(512) # or the output you get from the first snippet of your post
length(morgan_fp) # = 512
list_of_vectors = []
length(list_of_vectors) # = 0
append!(list_of_vectors, morgan_fp)
append!(list_of_vectors, morgan_fp)
length(list_of_vectors) # = 1024
# now you can reshape
mat_morgan_fp = reshape(list_of_vectors, (2,512))

But the solution @SteffenPL posted is more elegant in this case.

Thanks this worked! I should do a bit more googling but say I had a long list of fingerprints how would I convert the code? What does apostrophe do to the vector morgan_fp'

morgan_fp' is equivalent to transpose(morgan_fp)
It is needed, because in Julia vectors are column vectors by default. Concatenating along the vertical axis (vcat) requires you to pass in two row vectors of length 512 if your matrix is supposed to be of size 2 x 512 then.