diff --git a/crisprbact/cli.py b/crisprbact/cli.py index 029e8b806f85b556f6eab1a9c6927bf4372e3931..3b30605c3acc4748f1a9339d4879885d55100a55 100644 --- a/crisprbact/cli.py +++ b/crisprbact/cli.py @@ -20,18 +20,18 @@ OFF_TARGET_DETAILS = [ "off_target_feat_start", "off_target_feat_end", "off_target_feat_strand", - "locus_tag", - "gene", - "note", - "product", - "protein_id", + "off_target_locus_tag", + "off_target_gene", + "off_target_note", + "off_target_product", + "off_target_protein_id", ] HEADER = [ "target_id", "target", "PAM position", "prediction", - "seq_id", + "target_seq_id", "seed_size", ] + OFF_TARGET_DETAILS SEED_SIZE = 8 @@ -53,7 +53,7 @@ def predict(config): @predict.command() @click.option("-t", "--target", type=str, required=True) -@click.option("-g", "--genome", type=click.File("rU"), required=True, help="Genome") +@click.option("-g", "--genome", type=click.File("rU"), help="Genome") @click.option( "-gf", "--genome-format", @@ -72,10 +72,12 @@ def from_str(config, target, genome, genome_format, output_file): [OUTPUT_FILE] file where the candidate guide RNAs are saved. Default = "stdout" """ - if config.verbose: print_parameters(target) - genome_fh = SeqIO.parse(genome, genome_format) + if genome: + genome_fh = SeqIO.parse(genome, genome_format) + else: + genome_fh = None guide_rnas = on_target_predict(target, genome_fh) click.echo("\t".join(HEADER), file=output_file) @@ -97,7 +99,7 @@ def from_str(config, target, genome, genome_format, output_file): # @click.option( # "-s", "--seed-size", type=click.IntRange(8, 15, clamp=True), # ) -@click.option("-g", "--genome", type=click.File("rU"), required=True, help="Genome") +@click.option("-g", "--genome", type=click.File("rU"), help="Genome") @click.option( "-gf", "--genome-format", @@ -123,7 +125,10 @@ def from_seq(config, target, seq_format, genome, genome_format, output_file): for record in SeqIO.parse(target, seq_format): if config.verbose: click.secho(" - search guide RNAs for %s " % record.id, fg=fg) - genome_fh = SeqIO.parse(genome, genome_format) + if genome: + genome_fh = SeqIO.parse(genome, genome_format) + else: + genome_fh = None guide_rnas = on_target_predict(str(record.seq), genome_fh) # print(guide_rnas) write_guide_rnas(guide_rnas, output_file, record.id) @@ -137,7 +142,7 @@ def print_parameters(target, fg="blue"): def write_guide_rnas(guide_rnas, output_file, seq_id="N/A"): for guide_rna in guide_rnas: row = [ - str(guide_rna["id"]), + str(guide_rna["target_id"]), guide_rna["target"], str(guide_rna["pam"]), str(guide_rna["pred"]),