def sim_single_end(genome_fa,chr,chr_pos_start,chr_pos_end,read_length, unique_id):
#create fastafile object
fastafile = ps.FastaFile(genome_fa)
#sample left read
left_split_read = fastafile.fetch(chr, chr_pos_end - (read_length / 2), chr_pos_end)
# sample right read
right_split_read = fastafile.fetch(chr, chr_pos_start, chr_pos_start + (read_length / 2))
#reverse it
reversed_left_split_read = left_split_read[::-1]
#save the data
total_read = reversed_left_split_read + right_split_read
seq_id = "id:%s-%s|left_pos:%s-%s|right:%s-%s " % (unique_id,chr, int(chr_pos_end - (read_length / 2)), int(chr_pos_end), int(chr_pos_start),int(chr_pos_start + (read_length / 2)))
quality = "I" * read_length
fastq_string = "@%s\n%s\n+\n%s\n" % (seq_id, total_read, quality)
new_record = SeqIO.read(StringIO(fastq_string), "fastq")
return(new_record)
The problem is, that when I run this function with multiple cores,the variable "left_split_read" and "right_split_read" are empty. They do not read the genome