Esempio n. 1
0
def run_sequence_mutation_pipeline(pdb_id_sequence, sequence_mutations):
    """
    Parameters
    ----------
    pdb_id_sequence : tuple
        (pdb_id, uniprot_id)
    """
    pdb_id, sequence_id = pdb_id_sequence
    pdb_file = structure_tools.download_pdb_file(pdb_id, conf.CONFIGS["unique_temp_dir"])
    sequence_file = elaspic_sequence.download_uniport_sequence(sequence_id, conf.CONFIGS["unique_temp_dir"])
    for chain_pos in sequence_mutations[pdb_id_sequence]:
        for mutation in sequence_mutations[pdb_id_sequence][chain_pos]:
            mutation_sequence = "{}_{}".format(chain_pos, mutation)
            lp = standalone_pipeline.StandalonePipeline(pdb_file, sequence_file, mutations=mutation_sequence)
            lp.run_all_sequences()
            lp.run_all_models()
            lp.run_all_mutations()
            logger.info("Done!\n")
    logger.info("Pass")
Esempio n. 2
0
def get_sequence(uniprot_id, input_dir, output_dir, use_remote=True):
    """Move PDB structure to the local working directory."""
    input_file = op.join(input_dir, uniprot_id + ".fasta")
    output_file = op.join(output_dir, uniprot_id + ".fasta")

    # If the PDB already exists, do nothing...
    if op.isfile(output_file):
        logger.debug("Sequence file {} already exists!".format(output_file))
        return output_file

    # Look for PDB file in the same folder
    if not op.isfile(input_file):
        if use_remote:
            input_file = elaspic_sequence.download_uniport_sequence(uniprot_id, input_dir)
        else:
            raise Exception("No PDB input file found!")

    logger.info("Copying {} to {}...".format(input_file, output_file))
    shutil.copy(input_file, output_file)
    return output_file
Esempio n. 3
0
def run_sequence_mutation_pipeline(pdb_id_sequence, sequence_mutations):
    """
    Parameters
    ----------
    pdb_id_sequence : tuple
        (pdb_id, uniprot_id)
    """
    pdb_id, sequence_id = pdb_id_sequence
    pdb_file = structure_tools.download_pdb_file(
        pdb_id, conf.CONFIGS["unique_temp_dir"])
    sequence_file = elaspic_sequence.download_uniport_sequence(
        sequence_id, conf.CONFIGS["unique_temp_dir"])
    for chain_pos, mutations in sequence_mutations:
        for mutation in mutations:
            mutation_sequence = "{}_{}".format(chain_pos, mutation)
            lp = standalone_pipeline.StandalonePipeline(
                pdb_file, sequence_file, mutations=mutation_sequence)
            lp.run_all_sequences()
            lp.run_all_models()
            lp.run_all_mutations()
    logger.info("Pass")
Esempio n. 4
0
def get_sequence(uniprot_id, input_dir, output_dir, use_remote=True):
    """Move PDB structure to the local working directory."""
    input_file = op.join(input_dir, uniprot_id + ".fasta")
    output_file = op.join(output_dir, uniprot_id + ".fasta")

    # If the PDB already exists, do nothing...
    if op.isfile(output_file):
        logger.debug("Sequence file {} already exists!".format(output_file))
        return output_file

    # Look for PDB file in the same folder
    if not op.isfile(input_file):
        if use_remote:
            input_file = elaspic_sequence.download_uniport_sequence(
                uniprot_id, input_dir)
        else:
            raise Exception("No PDB input file found!")

    logger.info("Copying {} to {}...".format(input_file, output_file))
    shutil.copy(input_file, output_file)
    return output_file