def transform(workspace_service_url=None, shock_service_url=None, handle_service_url=None, workspace_name=None, object_name=None, object_id=None, object_version_number=None, working_directory=None, output_file_name=None, level=logging.INFO, logger=None): """ Converts KBaseAssembly.SingleEndLibrary to a Fasta file of assembledDNA. Args: workspace_service_url: A url for the KBase Workspace service shock_service_url: A url for the KBase SHOCK service. handle_service_url: A url for the KBase Handle Service. workspace_name: Name of the workspace object_name: Name of the object in the workspace object_id: Id of the object in the workspace, mutually exclusive to object_name object_version_number: Version number of workspace object (ContigSet), defaults to most recent version working_directory: The working directory where the output file should be stored. output_file_name: The desired file name of the result file. level: Logging level, defaults to logging.INFO. Returns: A FASTA file containing assembled sequences from a KBase ContigSet object. Authors: Jason Baumohl, Matt Henderson """ def insert_newlines(s, every): lines = [] for i in xrange(0, len(s), every): lines.append(s[i:i+every]) return "\n".join(lines)+"\n" if logger is None: logger = script_utils.stderrlogger(__file__) logger.info("Starting conversion of KBaseGenomes.ContigSet to FASTA.DNA.Assembly") token = os.environ.get("KB_AUTH_TOKEN") if not os.path.isdir(args.working_directory): raise Exception("The working directory does not exist {0} does not exist".format(working_directory)) logger.info("Grabbing Data.") try: ws_client = biokbase.workspace.client.Workspace(workspace_service_url) if object_version_number and object_name: contig_set = ws_client.get_objects([{"workspace":workspace_name,"name":object_name, "ver":object_version_number}])[0] elif object_name: contig_set = ws_client.get_objects([{"workspace":workspace_name,"name":object_name}])[0] elif object_version_number and object_id: contig_set = ws_client.get_objects([{"workspace":workspace_name,"objid":object_id, "ver":object_version_number}])[0] else: contig_set = ws_client.get_objects([{"workspace":workspace_name,"objid":object_id}])[0] except Exception, e: logger.exception("Unable to retrieve workspace object from {0}:{1}.".format(workspace_service_url,workspace_name)) logger.exception(e) raise
def transform(workspace_service_url=None, shock_service_url=None, handle_service_url=None, workspace_name=None, object_name=None, version=None, working_directory=None, output_file_name=None, logger=None): """ Converts KBaseRNASeq.RNASeqDifferentialExpression object to a Zipped file Args: workspace_service_url: A url for the KBase Workspace service shock_service_url: A url for the KBase SHOCK service. handle_service_url: A url for the KBase Handle Service. workspace_name: Name of the workspace object_name: Name of the object in the workspace version : version of the object working_directory: The working directory where the output file should be stored. output_file_name: The name of the output file should be stored. Returns: Output folder or files from KBaseRNASeq.RNASeqDifferentialExpression. Authors: Srividya Ramakrishnan """ if logger is None: logger = script_util.stderrlogger(__file__) logger.info( "Starting conversion of KBaseRNASeq.RNASeqDifferentialExpression to output files" ) token = os.environ.get("KB_AUTH_TOKEN") if not os.path.isdir(args.working_directory): raise Exception( "The working directory does not exist {0} does not exist".format( working_directory)) logger.info("Grabbing Data.") try: ws_client = biokbase.workspace.client.Workspace(workspace_service_url) if object_name: cuffdiff_obj = ws_client.get_objects([{ "workspace": workspace_name, "name": object_name }])[0] except Exception, e: logger.exception( "Unable to retrieve workspace object from {0}:{1}.".format( workspace_service_url, workspace_name)) logger.exception(e) raise
def transform(workspace_service_url=None, shock_service_url=None, handle_service_url=None, workspace_name=None, object_name=None,version=None, working_directory=None, output_file_name=None, logger=None): """ Converts KBaseRNASeq.RNASeqDifferentialExpression object to a Zipped file Args: workspace_service_url: A url for the KBase Workspace service shock_service_url: A url for the KBase SHOCK service. handle_service_url: A url for the KBase Handle Service. workspace_name: Name of the workspace object_name: Name of the object in the workspace version : version of the object working_directory: The working directory where the output file should be stored. output_file_name: The name of the output file should be stored. Returns: Output folder or files from KBaseRNASeq.RNASeqDifferentialExpression. Authors: Srividya Ramakrishnan """ if logger is None: logger = script_util.stderrlogger(__file__) logger.info("Starting conversion of KBaseRNASeq.RNASeqDifferentialExpression to output files") token = os.environ.get("KB_AUTH_TOKEN") if not os.path.isdir(args.working_directory): raise Exception("The working directory does not exist {0} does not exist".format(working_directory)) logger.info("Grabbing Data.") try: ws_client = biokbase.workspace.client.Workspace(workspace_service_url) if object_name: cuffdiff_obj = ws_client.get_objects([{"workspace":workspace_name,"name":object_name}])[0] except Exception, e: logger.exception("Unable to retrieve workspace object from {0}:{1}.".format(workspace_service_url,workspace_name)) logger.exception(e) raise
description='Converts SingleEndLibrary file to fasta file', epilog='Authors: Srividya Ramakrishnan, Matt Henderson, Jason Baumohl') parser.add_argument('--workspace_service_url', help='Workspace service url', action='store', type=str, nargs='?', required=True) parser.add_argument('--workspace_name', help ='Workspace Name', action='store', type=str, nargs='?', required=True) parser.add_argument('--working_directory', help ='Directory the output file(s) should be written into', action='store', type=str, nargs='?', required=True) object_info = parser.add_mutually_exclusive_group(required=True) object_info.add_argument('--object_name', help ='Object Name', action='store', type=str, nargs='?') object_info.add_argument('--object_id', help ='Object ID', action='store', type=str, nargs='?') parser.add_argument('--object_type', help='Object type', action='store', type=str, nargs='?',required=True) #NOTE VERSION NUMBER NEEDS TO BE ADDED data_services = parser.add_mutually_exclusive_group(required=True) data_services.add_argument('--shock_service_url', help='Shock url', action='store', type=str, default='https://kbase.us/services/shock-api/', nargs='?') data_services.add_argument('--handle_service_url', help='Handle service url', action='store', type=str, default='https://kbase.us/services/handle_service/', nargs='?') args = parser.parse_args() logger = script_utils.stderrlogger(__file__) try: convert(args.workspace_service_url,args.shock_service_url, args.handle_service_url,args.workspace_name,args.object_name, args.object_type,args.working_directory, logger=logger) except: logger.exception("".join(traceback.format_exc())) sys.exit(1) sys.exit(0)
data_services = parser.add_mutually_exclusive_group(required=True) data_services.add_argument("--shock_service_url", help="shock_service_url", action="store", type=str, nargs="?") data_services.add_argument("--handle_service_url", help="handle_service_url", action="store", type=str, nargs="?") args = parser.parse_args() logger = script_utils.stderrlogger(__file__) logger.info("Starting download of ContigSet => FASTA") try: transform(workspace_service_url = args.workspace_service_url, shock_service_url = args.shock_service_url, handle_service_url = args.handle_service_url, workspace_name = args.workspace_name, object_name = args.object_name, object_id = args.object_id, object_version_number = args.object_version_number, output_file_name = args.output_file_name, working_directory = args.working_directory, logger = logger) except Exception, e: logger.exception(e) sys.exit(1)