Exemplo n.º 1
0
def split_target_sequence(target_chroms, target_fasta_name, inter_files):
    Faidx(target_fasta_name)
    genome_size =0
    target_fasta = Fasta(target_fasta_name, key_function = lambda x: x.split()[0])
    for value in target_fasta.values():
        genome_size += len(value)
    for chrm in target_chroms:
        if chrm != target_fasta_name:
            out=open( inter_files + "/" + chrm+".fa", 'w')
            out.write(">" + chrm + "\n" + str(target_fasta[chrm]))
    return genome_size
Exemplo n.º 2
0
class FastaFile(SequentialData):

    def __init__(self, filename):
        self.filename = filename
        self.instance()
    
    def instance(self):
        self.fasta = Fasta(self.filename, as_raw=True)
    
    def get(self, seqname, coord_start, coord_end):
        return self.fasta[seqname][coord_start:coord_end]

    @property
    def seqnames(self):
        return list(self.fasta.keys())

    @property
    def starts(self):
        return [0] * len(self.fasta.keys())

    @property
    def ends(self):
        return [len(seq) for seq in self.fasta.values()]