Example #1
0
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)

Example #5
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)