ó
ÿfmSc           @   s¦   d  d l  Z  d  d l Z d  d l m Z d  d l m Z e j d ƒ rY 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_remanei/cremanei.genedbc         C   sÛ  t  d d |  ƒ} t j | ƒ } x³| D]«} d } g  } d } t d | | f d ƒ }	 d }
 |	 j ƒ  } | j ƒ  d } xK| d k rÈg  } d } |	 j ƒ  } xU | d k rù | d d k rù | j ƒ  } | t | ƒ 7} | j | ƒ |	 j ƒ  } q¥ Wt j	 | d ƒ } | d	 k  rYd
 | GH| j
 d | f | d t | ƒ ƒ | j | | d ƒ n\ d | | f } t d t | f d ƒ } | j | ƒ | j ƒ  d | GH| j | | d ƒ |
 d 7}
 | } q~ W|	 j ƒ  q( Wd  S(   Nt   cremaneit   dbFilet    i    s   %s/%st   ri   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   ost   listdirt   opent   readlinet   stript   lent   appendt   stringt   joint   addSequencet   strt   addChromosomeEntryt   cisRoott   writet   close(   R	   t   inPatht   chromOutPatht   crGenomet   scontigListt   scontigt   seqt   seqArrayt   seqLent   inFilet   indext   headert   chromIDt   currentLinet   lineSeqt   outFileNamet   outFile(    (    se   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM-2014-05-09-fix/cistematic/genomes/cremanei.pyt   loadChromosomes+   sB    	"
	

c      	   C   sÃ  t  d d |  ƒ} t | d ƒ } i  } i  } i  } i  } g  } xý | D]õ }	 |	 d d k rb qF n  |	 d d k rx qF n  |	 d  j d ƒ }
 |
 d	 d
 k r¡ qF n  |
 d j d ƒ } | d } d | f } t |
 d ƒ d | | <t |
 d ƒ d | | <|
 d } |
 d j ƒ  | | <| d k r1d | | <qF d | | <qF Wxa | D]Y } | | k rmd t | ƒ GHqFn  | j | | | | | | | | | d
 d f ƒ qFWd t | ƒ GH| j | ƒ d  S(   NR   R   R   i    t   #s   
iÿÿÿÿs   	i   t   CDSi   t   "i   i   i   i   t   +t   Ft   Rs$   geneID %s not in geneStop - skippings   Adding %d gene entries(	   R    R   t   splitt   intR   R   R   R   t   addGeneEntryBatch(   R	   t   gffFileR   t   geneFilet	   geneStartt   geneStopt	   geneChromt	   geneSenset   geneEntriest   linet   fieldt   idfieldt   gidt   geneIDt   sense(    (    se   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM-2014-05-09-fix/cistematic/genomes/cremanei.pyt   loadGeneEntriesS   s@    

6c      	   C   s]  t  d d |  ƒ} t | d ƒ } g  } x| D]} | d d k rJ q. n  | d d k r` q. n  | j d ƒ } | d j ƒ  d	 k r‹ q. n  | d
 j d ƒ } | d } d | f }	 d }
 t | d ƒ d } t | d ƒ d } | d } | d j ƒ  } | d k rd } n d } | j |	 |
 | | | | d f ƒ q. Wd t | ƒ GH| j | ƒ d  S(   NR   R   R   i    R,   s   
s   	i   t   coding_exoni   R.   i   i   i   i   R/   R0   R1   R-   s   Adding %d feature entries(   R    R   R2   R   R3   R   R   t   addFeatureEntryBatch(   R	   R5   R   t   featureFilet   featureEntriesR<   R=   t   gidrevR?   R@   t
   gidVersiont   startt   stopRA   t   chrom(    (    se   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM-2014-05-09-fix/cistematic/genomes/cremanei.pyt   loadFeatureEntries|   s2    

	&c         C   s)   t  d d d d |  ƒ} | j |  ƒ d  S(   NR   t   versiont
   CR20050824R   (   R    t   createGeneDB(   R	   R   (    (    se   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM-2014-05-09-fix/cistematic/genomes/cremanei.pyt   createDBFilež   s    c         C   s&   t  d d d d |  ƒ} | j ƒ  d  S(   NR   RM   RN   R   (   R    t   createIndices(   R	   R   (    (    se   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM-2014-05-09-fix/cistematic/genomes/cremanei.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/cr01_wu_merged_gffs!   %s/download/sctg_masked_seqs/seqss   /C_remanei/s   Creating database %ss   Adding gene entriess   Adding feature entriess   Loading genomic sequences   Creating Indicess   Finished creating database %s(   R   RP   RB   RL   R+   RR   (   R	   t   gffPatht
   chromoPatht   chromoOutPath(    (    se   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM-2014-05-09-fix/cistematic/genomes/cremanei.pyt   buildCremaneiDB¨   s    

	

(   R   R   t   cistematic.genomesR    R   t   getR   t   geneDBR+   RB   RL   RP   RR   RV   (    (    (    se   /woldlab/castor/data00/home/georgi/code/erange-4.0a-BAM-2014-05-09-fix/cistematic/genomes/cremanei.pyt   <module>   s   
	(	)	"		