ó
÷VźNc           @   s   d  d l  Z  d  d l m Z d  d l m Z e j d  rM e j d  Z n d Z d e Z d   Z d   Z	 d	   Z
 d
   Z d   Z e d  Z d S(   i’’’’N(   t   Genome(   t   environt   CISTEMATIC_ROOTs   /proj/genomes   %s/C_briggsae/cbriggsae.genedbc         C   s  g  } d } t  d d |  } t | d  } | j   } xQ| d k rg  } d } | j   d } | j   }	 xU |	 d k rĒ |	 d d k rĒ |	 j   }
 | t |
  7} | j |
  | j   }	 qs Wt j | d  } | d k  r'd	 | GH| j d | f | d
 t	 |   | j
 | | d  n\ d | | f } t d t | f d  } | j |  | j   d | GH| j
 | | d  |	 } q< W| j   d  S(   Ni    t	   cbriggsaet   dbFilet   rt    i   t   >i » s   Added contig %s to databaset
   chromosomet   dbs   %s%s.bins   %s%st   ws    Added contig file %s to databaset   file(   R    t   opent   readlinet   stript   lent   appendt   stringt   joint   addSequencet   strt   addChromosomeEntryt   cisRoott   writet   close(   R	   t	   chromPatht   chromOutPatht   seqArrayt   seqLent   cbGenomet   inFilet   headert   chromIDt   currentLinet   lineSeqt   seqt   outFileNamet   outFile(    (    sW   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM/cistematic/genomes/cbriggsae.pyt   loadChromosome+   s8    	"
	
c      	   C   sį  t  d d |  } t | d  } g  } g  } xu| D]m} | d  j d  } | d d k rc q4 n  | d d	 k ry q4 n  | d
 j d  } | d }	 d |	 f }
 t j | d d  } d } y t d } Wn n Xt | d  d } t | d  d } | d } | d j   } | d k r-d } n d } |
 | | | | d	 | f | k ry| j |
 | | | | d	 | f  n  |
 | f | k r4 | j |
 | f  q4 q4 Wd t	 |  GH| j
 |  d t	 |  GH| j |  d  S(   NR   R   R   i’’’’s   	i   t   hybridi   t   CDSi   t   "i   R   i   i   i    t   +t   Ft   Rs   Adding %d gene entriess   Adding %d annotations(   R    R   t   splitR   R   t   giddotst   intR   R   R   t   addGeneEntryBatcht   addAnnotationBatch(   R	   t   gffFileR   t   geneFilet   geneEntriest   geneAnnotationst   linet   fieldt   annott   gidt   geneIDt
   annotationt
   gidVersiont   startt   stopt   senset   chrom(    (    sW   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM/cistematic/genomes/cbriggsae.pyt   loadGeneEntriesN   sD    

	!%c      	   C   sŃ  t  d d |  } t | d  } g  } i  } i d d 6d d 6d d	 6} xf| D]^} | j d
  } | d d k rz qO n  | d j   | k r qO n  | | d j   }	 | d j d  }
 |
 d } d | f } d } t | d  d } t | d  d } | d } | d j   } | d k r0d } n d } | | k rOg  | | <n  | | | |	 f | | k rO | j | | | | | | |	 f  | | j | | | |	 f  qO qO Wd t |  GH| j |  d  S(   NR   R   R   R(   t   coding_exont   3UTRt   three_prime_UTRt   5UTRt   five_prime_UTRs   	i   R'   i   i   R)   i   i   i   i    R*   R+   R,   s   Adding %d feature entries(   R    R   R-   R   R/   R   R   t   addFeatureEntryBatch(   R	   R2   R   t   featureFilet   featureEntriest   seenFeaturest   featureTranslationR6   R7   t   featureTypet   gidrevR9   R:   R<   R=   R>   R?   R@   (    (    sW   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM/cistematic/genomes/cbriggsae.pyt   loadFeatureEntriesz   s@    



	"$c         C   s)   t  d d d d |  } | j |   d  S(   NR   t   versiont   CB25R   (   R    t   createGeneDB(   R	   R   (    (    sW   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM/cistematic/genomes/cbriggsae.pyt   createDBFile¤   s    c         C   s&   t  d d d d |  } | j   d  S(   NR   RO   RP   R   (   R    t   createIndices(   R	   R   (    (    sW   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM/cistematic/genomes/cbriggsae.pyt   createDBindices©   s    c         C   s   d t  } d t  } d } d |  GHt |   d GHt |  |  d GHt |  |  d GHt |  | |  d GHt |   d	 |  GHd  S(
   Ns!   %s/download/briggsae_25.WS132.gffs   %s/download/briggsae_25.fas   /C_briggsae/s   Creating database %ss   Adding gene entriess   Adding feature entriess   Loading genomic sequences   Creating Indicess   Finished creating database %s(   R   RR   RA   RN   R&   RT   (   R	   t   gffPatht
   chromoPatht   chromoOutPath(    (    sW   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM/cistematic/genomes/cbriggsae.pyt   buildCbriggsaeDB®   s    

	

(   R   t   cistematic.genomesR    t   osR   t   getR   t   geneDBR&   RA   RN   RR   RT   RX   (    (    (    sW   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM/cistematic/genomes/cbriggsae.pyt   <module>   s   
	#	,	*		