[ensembl-dev] accessing the tilepath entries programatically

mag mr6 at ebi.ac.uk
Thu Jul 2 16:40:22 BST 2015


Hi Duarte,

Replacing 'clone_name' with 'Name' as Thibaut suggested works for me for 
GRCh38.

my $clones =  $mf_adaptor->fetch_all_by_attribute_type_value( 'Name', 
$query );

while ( my $clone = shift @{$clones} ) {
   my $slice = $clone->slice();
   print join "\t", ("chr".$slice->seq_region_name(), $clone->start(), 
$clone->end() , $query."\n");
}


Regards,
Magali

On 01/07/2015 18:15, Duarte Molha wrote:
>
> I would still appreciate some help with this query. If possible.
>
> On 30 Jun 2015 16:29, "Duarte Molha" <duartemolha at gmail.com 
> <mailto:duartemolha at gmail.com>> wrote:
>
>     Thibaut... Could you expand on how I can change my script to make
>     it work with the new assembly?
>     I have just realised that the reason I am no getting 60 BAC
>     entries is because their are only present in GRCh38 and not on the
>     GRCh37
>
>     Can you tell me how I can modify my script to work with the new
>     assembly?
>
>     I don't seem to understand the projection method you are using.
>     Here is the relevant part of my script
>
>     my $mf_adaptor         = $registry->get_adaptor( 'Human', 'Core',
>     'MiscFeature' );
>
>     open (IN, ,"<", $options->{list})|| die "Could not open
>     ".$options->{list}." for reading \n";
>     my @input_queries = <IN>;
>     close IN;
>
>     foreach my $query (@input_queries){
>     chomp $query;
>     my $clones =  $mf_adaptor->fetch_all_by_attribute_type_value(
>     'clone_name', $query );
>
>     while ( my $clone = shift @{$clones} ) {
>     my $slice = $clone->slice();
>     print join "\t", ("chr".$slice->seq_region_name(),
>     $clone->start(), $clone->end() , $query."\n");
>     }
>     }
>
>
>     Best regards
>
>     Duarte
>
>     =========================
>          Duarte Miguel Paulo Molha
>     http://about.me/duarte
>     =========================
>
>     On 30 June 2015 at 15:46, Duarte Molha <duartemolha at gmail.com
>     <mailto:duartemolha at gmail.com>> wrote:
>
>         no. That does not get anything.
>
>
>
>         =========================
>              Duarte Miguel Paulo Molha
>         http://about.me/duarte
>         =========================
>
>         On 30 June 2015 at 14:50, Thibaut Hourlier <thibaut at ebi.ac.uk
>         <mailto:thibaut at ebi.ac.uk>> wrote:
>
>             If you use name instead of clone_name, does it fetches the
>             missing one?
>
>             Cheers
>             Thibaut
>
>>             On 30 Jun 2015, at 14:27, Duarte Molha
>>             <duartemolha at gmail.com <mailto:duartemolha at gmail.com>> wrote:
>>
>>             Yes I am using the GRCh37 Thibaut  ... so I am ok for
>>             now... but it is good to know this does not work with the
>>             latest assembly.
>>             However... can you please answer my question regarding
>>             the missing clones like RP11-155D3 ... why can I not
>>             fetch this when it is clearly on the database?
>>
>>             Thanks
>>
>>             Duarte
>>
>>             *
>>             *
>>
>>             =========================
>>                  Duarte Miguel Paulo Molha
>>             http://about.me/duarte
>>             =========================
>>
>>             On 30 June 2015 at 14:12, Thibaut Hourlier
>>             <thibaut at ebi.ac.uk <mailto:thibaut at ebi.ac.uk>> wrote:
>>
>>                 My first question should have been which assembly are
>>                 you using...
>>
>>                 So yes this will work for GRCh37. Unfortunately it
>>                 will not work for GRCh38 but this is something that
>>                 we will fix for release 82.
>>
>>                 So in the case of GRCh38, it is still possible but
>>                 more complicated. It should work by getting the slice
>>                 then projecting on the clone coordinate system
>>
>>                 $subSlice = $misc_clone->feature_Slice;
>>                 $projectionSegment = $subSlice->project('clone')
>>
>>                 Cheers
>>                 Thibaut
>>
>>>                 On 30 Jun 2015, at 13:56, Duarte Molha
>>>                 <duartemolha at gmail.com
>>>                 <mailto:duartemolha at gmail.com>> wrote:
>>>
>>>                 Nevermind... after searching for miscFeatures
>>>                 information I found the relevant part in the api
>>>                 tutorial
>>>
>>>                 Just for reference to anyone that has the same
>>>                 difficulties here is the relevant portion of the
>>>                 code I used:
>>>                 (please let me know if there is something I did
>>>                 wrong Thibaut)
>>>
>>>                 my $mf_adaptor       = $registry->get_adaptor(
>>>                 'Human', 'Core', 'MiscFeature' );
>>>
>>>                 open (IN, ,"<", $options->{list})|| die "Could not
>>>                 open ".$options->{list}." for reading \n";
>>>                 my @input_queries = <IN>;
>>>                 close IN;
>>>
>>>                 foreach my $query (@input_queries){
>>>                 chomp $query;
>>>                 my $clones =
>>>                  $mf_adaptor->fetch_all_by_attribute_type_value(
>>>                 'clone_name', $query );
>>>
>>>                 while ( my $clone = shift @{$clones} ) {
>>>                 my $slice = $clone->slice();
>>>                 print join "\t", ("chr".$slice->seq_region_name(),
>>>                 $clone->start(), $clone->end() , $query."\n");
>>>                 }
>>>                 }
>>>
>>>
>>>                 Best regards
>>>
>>>                 Duarte
>>>
>>>                 =========================
>>>                      Duarte Miguel Paulo Molha
>>>                 http://about.me/duarte
>>>                 =========================
>>>
>>>                 On 30 June 2015 at 13:26, Duarte Molha
>>>                 <duartemolha at gmail.com
>>>                 <mailto:duartemolha at gmail.com>> wrote:
>>>
>>>                     Many thanks Thibaut
>>>
>>>                     So... in regards to your question...
>>>
>>>                     How can I query a specific clone and its correct
>>>                     coordinates if I know  the clone ID.
>>>
>>>                     For example
>>>
>>>                     assuming this clone:
>>>                      RP11-100N21
>>>
>>>                     In other words , how to I query the underlying
>>>                     clone dataset and output those clones in genomic
>>>                     coordinates?
>>>
>>>                     Many thanks
>>>
>>>                     Duarte
>>>
>>>
>>>
>>>
>>>
>>>
>>>                     =========================
>>>                          Duarte Miguel Paulo Molha
>>>                     http://about.me/duarte
>>>                     =========================
>>>
>>>                     On 30 June 2015 at 13:15, Thibaut Hourlier
>>>                     <thibaut at ebi.ac.uk <mailto:thibaut at ebi.ac.uk>>
>>>                     wrote:
>>>
>>>                         Hi Duarte,
>>>                         The clone names are stored in the misc_*
>>>                         tables. So you need to use the
>>>                         MiscFeatureAdaptor,
>>>                         http://www.ensembl.org/info/docs/Doxygen/core-api/classBio_1_1EnsEMBL_1_1DBSQL_1_1MiscFeatureAdaptor.html:
>>>
>>>                         my $misc_clones =
>>>                         $mfa->fetch_all_by_Slice_and_set_code('tilepath');
>>>                         foreach my $clone (@$misc_clones) {
>>>                          print join("\t",
>>>                         $clone->slice->seq_region_name,
>>>                         $clone->start, $clone->end,
>>>                         @{$clone->get_all_attribute_values('name')}), "\n";
>>>                         }
>>>
>>>                         A warning though, this is the tilepath so
>>>                         the boundaries of the clones are different
>>>                         from the contigs/clones in the assembly as
>>>                         sometimes they didn't use the entire clone
>>>                         for the assembly
>>>
>>>                         Hope this help
>>>
>>>                         Thibaut
>>>
>>>                         > On 30 Jun 2015, at 11:50, Duarte Molha
>>>                         <duartemolha at gmail.com
>>>                         <mailto:duartemolha at gmail.com>> wrote:
>>>                         >
>>>                         > I used this code to get all the gebnomic
>>>                         coordinates of your subcontigs:
>>>                         >
>>>                         >
>>>                         > my @slices = @{
>>>                         $slice_adaptor->fetch_all('clone') };
>>>                         > foreach my $slice (@slices){
>>>                         >  $progress->update();
>>>                         >       my $clone_name =
>>>                         $slice->seq_region_name();
>>>                         >       my $projection =
>>>                         $slice->project('toplevel');
>>>                         >  foreach my $segment ( @{$projection} ) {
>>>                         >      my $to_slice = $segment->to_Slice();
>>>                         >      print join "\t",
>>>                         ("chr".$to_slice->seq_region_name(),
>>>                         $to_slice->start(), $to_slice->end(),
>>>                         $clone_name."\n");
>>>                         >       }
>>>                         > }
>>>                         >
>>>                         > However, by doing this, the database does
>>>                         not fetch the original clone name
>>>                         >
>>>                         > for example.. using this script I get
>>>                         > chr4 47567235   47733411     AC092597.1
>>>                         >
>>>                         > However I would like to get :
>>>                         >
>>>                         > chr4 47567235   47733411 RP11-100N21
>>>                         >
>>>                         > Can someone explain what I am doing wrong?
>>>                         >
>>>                         > Thanks
>>>                         >
>>>                         > Duarte
>>>                         >
>>>                         >
>>>                         >
>>>                         > =========================
>>>                         > Duarte Miguel Paulo Molha
>>>                         > http://about.me/duarte
>>>                         > =========================
>>>                         >
>>>                         > On 30 June 2015 at 09:45, Duarte Molha
>>>                         <duartemolha at gmail.com
>>>                         <mailto:duartemolha at gmail.com>> wrote:
>>>                         > Dear devs
>>>                         >
>>>                         > How can I search for a specific clone id
>>>                         present on your tilepath
>>>                         >
>>>                         > for example this: RP5-892C22
>>>                         >
>>>                         > I would like to use the perl API if possible
>>>                         >
>>>                         > Many thanks
>>>                         >
>>>                         > Duarte
>>>                         >
>>>                         >
>>>                         >
>>>                         > =========================
>>>                         > Duarte Miguel Paulo Molha
>>>                         > http://about.me/duarte
>>>                         > =========================
>>>                         >
>>>                         >
>>>                         _______________________________________________
>>>                         > Dev mailing list Dev at ensembl.org
>>>                         <mailto:Dev at ensembl.org>
>>>                         > Posting guidelines and
>>>                         subscribe/unsubscribe info:
>>>                         http://lists.ensembl.org/mailman/listinfo/dev
>>>                         > Ensembl Blog: http://www.ensembl.info/
>>>
>>>
>>>                         _______________________________________________
>>>                         Dev mailing list Dev at ensembl.org
>>>                         <mailto:Dev at ensembl.org>
>>>                         Posting guidelines and subscribe/unsubscribe
>>>                         info:
>>>                         http://lists.ensembl.org/mailman/listinfo/dev
>>>                         Ensembl Blog: http://www.ensembl.info/
>>>
>>>
>>>
>>>                 _______________________________________________
>>>                 Dev mailing list Dev at ensembl.org
>>>                 <mailto:Dev at ensembl.org>
>>>                 Posting guidelines and subscribe/unsubscribe info:
>>>                 http://lists.ensembl.org/mailman/listinfo/dev
>>>                 Ensembl Blog: http://www.ensembl.info/
>>
>>
>>                 _______________________________________________
>>                 Dev mailing list Dev at ensembl.org <mailto:Dev at ensembl.org>
>>                 Posting guidelines and subscribe/unsubscribe info:
>>                 http://lists.ensembl.org/mailman/listinfo/dev
>>                 Ensembl Blog: http://www.ensembl.info/
>>
>>
>>             _______________________________________________
>>             Dev mailing list Dev at ensembl.org <mailto:Dev at ensembl.org>
>>             Posting guidelines and subscribe/unsubscribe info:
>>             http://lists.ensembl.org/mailman/listinfo/dev
>>             Ensembl Blog: http://www.ensembl.info/
>
>
>             _______________________________________________
>             Dev mailing list Dev at ensembl.org <mailto:Dev at ensembl.org>
>             Posting guidelines and subscribe/unsubscribe info:
>             http://lists.ensembl.org/mailman/listinfo/dev
>             Ensembl Blog: http://www.ensembl.info/
>
>
>
>
>
> _______________________________________________
> Dev mailing list    Dev at ensembl.org
> Posting guidelines and subscribe/unsubscribe info: http://lists.ensembl.org/mailman/listinfo/dev
> Ensembl Blog: http://www.ensembl.info/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ensembl.org/pipermail/dev_ensembl.org/attachments/20150702/34c59551/attachment.html>


More information about the Dev mailing list