TFBS::...ANSFAC(3pm)

πŸ’– TFBS::DB::TRANSFAC β€” the manual page, but make it make sense πŸ’–

okay bestie, so this is the perl doc for TFBS::DB::TRANSFAC (shipped under the manual name TFBS::...ANSFAC(3pm), part of the User Contributed Perl Documentation situation). It's giving "I need transcription factor binding site matrices and I need them from the internet." Sit down, get a strawberry drink, we're doing this πŸ“


🚨 NOTICE 🚨

-------------------------------- NOTICE ---------------------------------- The TRANSFAC database is free for non-commercial use. For commercial use the TRANSFAC databases and programs have to be licensed. Please read the DISCLAIMER at http://transfac.gbf.de/TRANSFAC/disclaimer.htm. -------------------------------------------------------------------------

fr fr, read that twice. Non-commercial = free, commercial = you gotta get a license, no cap. The DISCLAIMER lives at http://transfac.gbf.de/TRANSFAC/disclaimer.htm πŸ’…


✨ NAME ✨

TFBS::DB::TRANSFAC β€” an interface to the database of TRANSFAC public position frequency matrices over at TESS (http://www.cbil.upenn.edu/tess). It's the little doorway between your perl script and a whole bunch of matrices. iconic behavior πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

  • making a database object by connecting to TRANSFAC data β€” the whole "hi hello let me in" moment:
my $db = TFBS::DB::TRANSFAC->connect();
  • pulling a TFBS::Matrix::* object out of the database β€” this is the part where you actually get your little matrix:
# retrieving a PFM by ID
my $pfm = $db->get_Matrix_by_ID('V$CEBPA_01','PFM');

#retrieving a PWM by TRANSFAC accession number
my $pwm = $db->get_Matrix_by_acc('M00116', 'PWM');

🌸 DESCRIPTION 🌸

TFBS::DB::TRANSFAC is a read only database interface β€” like, you're not writing anything back, you're just grabbing. It fetches TRANSFAC matrix data from the TESS web interface (http://www.cbil.upen.edu/TESS) and hands you back TFBS::Matrix::* objects. Simple. Elegant. Slay.


πŸŽ€ connect

  • Title: connect
  • Usage: my $db = TFBS::DB::TRANSFAC->connect(%args);
  • Function: Creates a TRANSFAC database connection object, which can be used to retrieve matrices from public TRANSFAC databases via the web
  • Returns: a TFBS::DB::TRANSFAC object
  • Args:
    • -proxy β€” # OPTIONAL: a http proxy server name, usually required for accessing TRANSFAC from behind a firewall
    • -accept_conditions β€” # OPTIONAL: by setting this to a true value, you confirm that you have read and accepted the terms of use of TRANSFAC at http://transfac.gbf.de/TRANSFAC/disclaimer.htm; this also suppresses the annoying message that is printed to STDERR upon invoking the method

so yeah, the proxy one is for when you're sitting behind a firewall and the vibe check fails without it πŸ”₯ and -accept_conditions is basically you signing the little permission slip and muting the annoying STDERR message at the same time. two birds, one true value πŸ’…


🧚 new

  • Title: connect
  • Usage: my $db = TFBS::DB::TRANSFAC->connect(%args);
  • Function: Here, new is just a synonim for connect (to make the interface consistent with other bioperl read-obly Bio::DB::* objects)
  • Returns: a TFBS::DB::TRANSFAC object
  • Args:
    • -accept_conditions β€” # see explanation at new

okay yes the Title and Usage say connect even though you're reading about new β€” that's not me being chaotic, that's literally what the page says, I'm just the messenger πŸ™ˆ and yeah, -accept_conditions here means "go look at the explanation at new", which is... this one. we love a circular moment.


🌈 get_Matrix_by_ID

  • Title: get_Matrix_by_ID
  • Usage: my $pfm = $db->get_Matrix_by_ID('V$CREB_01', 'PFM');
  • Function: fetches matrix data under the given TRANSFAC ID from the database and returns a TFBS::Matrix::* object
  • Returns: a TFBS::Matrix::* object; the exact type of the object depending on the second argument (allowed values are 'PFM', 'ICM', and 'PWM'); returns undef if matrix with the given ID is not found
  • Args: (Matrix_ID, Matrix_type)
    • Matrix_ID is a string; Matrix_type is one of the following: 'PFM' (raw position frequency matrix), 'ICM' (information content matrix) or 'PWM' (position weight matrix)
    • If Matrix_type is omitted, a PFM is retrieved by default.

so you hand it an ID and you tell it what flavor you want, and it gives you the goods. if the ID isn't a thing, you get undef β€” which is code for "girl, that matrix does not exist" 😭 default flavor is 'PFM', no need to spell it out if that's what you're after πŸ‘‘


πŸ’œ get_Matrix_by_acc

  • Title: get_Matrix_by_acc
  • Usage: my $pfm = $db->get_Matrix_by_acc('V$CREB_01', 'PFM');
  • Function: fetches matrix data under the given TRANSFAC accession number from database and returns a TFBS::Matrix::* object
  • Returns: a TFBS::Matrix::* object; the exact type of the object depending on the second argument (allowed values are 'PFM', 'ICM', and 'PWM'); returns undef if matrix with the given ID is not found
  • Args: (Matrix_ID, Matrix_type)
    • Matrix_ID is a string; Matrix_type is one of the following: 'PFM' (raw position frequency matrix), 'ICM' (information content matrix) or 'PWM' (position weight matrix)
    • If Matrix_type is omitted, a PFM is retrieved by default.

literally the same energy as above but you're looking it up by TRANSFAC accession number instead of ID. same return rules: TFBS::Matrix::* object back, type depends on the second arg ('PFM', 'ICM', 'PWM'), undef if it's not found. and again β€” omit the type and you're getting a PFM, periodt ✨


also just like, a general reminder bestie: this whole thing is read only. you fetch, you don't push. πŸ’–

and that's the page!! no cap, every flag, every arg, every default, every URL β€” it's all here 🫢 this was perl v5.42.3, dated 2026-08-21, manual name TFBS::...ANSFAC(3pm). go get your matrices, you're gonna eat πŸ’…πŸŒΈ

πŸ“¦ where this page comes from