First-pass flagging pipelines

From WormBaseWiki
Jump to navigationJump to search

Caltech documentation
First-pass to Curation
First-pass schedule, instructions, automation

Flagging mechanisms

Papers are flagged for specific data types through four different methods:

  • curator flagging - a WB curator flags the paper manually, a curator goes through the paper and enters a check mark or comment for a data type in a curator first-pass form; data are stored in the cfp table.
  • author/journal flagging - authors flag their own papers, authors are sent a link to either the author first pass form or a journal first pass form (for GSA and G3 journals only) and they enter a check mark or comment for data types, data are stored in the afp table.
  • Textpresso regular expression - curators work with textpresso developers to search the full text of papers to find key expressions, words/phrases from categories or the concurrence of these words/phrases in sentences, etc., to flag a paper as positive for a data type, data are stored in the tfp table; see Textpresso flagging pipelines
  • Support Vector Machine algorithms - SVM is set up for a specific data type such that based on a known positive and known negative set of papers, a reasonable balance in recall and precision is determined for automatically flagging the most recent papers indexed by the textpresso, papers are ranked as high, medium, low, or negative as regards the probability of being a true positive for a given data type, data are stored on caprica in data indexed folders, access to those sets of papers and the flagging results should be available here:

Alerting the data type curator

  • Alerts from the cfp are sent when a first-pass curator flags a paper using the cfp_form and only if the "send" checkbox is on.
  • Alerts from the afp tables are sent when the form has been submitted by an author, if the curator as agreed to be alerted.
  • Alerts from tfp are set up by each individual curator with the Textpresso group and Juancarlos.

Curator flagging

Curator first-pass (cfp) form

This form has three purposes

  • for curators to manually flag a paper
  • to collect and display flags from all other methods of flagging papers
  • to evaluate the input from authors and other automated flagging methods

This form is accessed by clicking "Curate !" for a paper on the cfp cgi
This form contains columns for the different first-pass tables, currently, the Textpresso first-pass table, the author first-pass table, and the curator first-pass table.

Textpresso FP results are currently not being displayed in the cfp_form for those data types that have been considered "good" (sufficiently automated) by curators. These data fields have been removed from the cfp_form, so they would have to be added back if we want to see them.
These data types are:

  • antibody
  • transgene
  • extvariation (new alleles)

n.b. because these data types have been removed from the cfp table, first-pass curator flags are not being counted for them any longer.

Curator first-pass table (cfp)

Data is entered directly into postgres through this table. The curator uses the text boxes to enter data based on their own paper reading or to agree with or modify data entered by authors, textpresso (obsoleted?)

Upon hitting 'Flag !' data entered into the cfp, afp, and/or tfp is sent to the e-mail that corresponds with the curator associated with that data type.

However, for the purposes of the curation status form, only those data types with entries in the cfp table are counted as flagged. So for the paper to be considered flagged for the curation status form, the first-pass data curator must merge the data from the author data or textpresso data into the cfp box, or else type something else in the box.

Using the curator first-pass form

FP curators are expected to approve or reject author-entered data

  • Author-entered data is set by default as 'approved'.
  • To reject the author-entered data, the curator should uncheck the check box.
  • Approved and rejected author data is stored in postgres and can be queried by looking at the afp_ table, which has paperID, data, author timestamp, curatorID, approve/reject, curator timestamp

Approving author-entered data alone DOES NOT flag the paper in a statistical way

When a fp curator hits "flag!" an e-mail will be sent to the data curator if there is any data in any author-entered data field, so the data curator will be alerted to the presence of the paper.
However, the paper will not be counted as flagged in the cfp for that data type unless the curator enters data into the fp curator column (i.e., into the cfp table); therefore, approved author data needs to be manually entered into the curator first-pass table.
Some actions a fp curator can take with author-entered data:

  • If you agree with everything the author says, click "merge" to enter the data into the cfp.
  • If you just think "yes", type "yes" in the cfp
  • If you partially agree with author-entered data, merge it and edit it in the cfp
    The point of the merge link was to save clicks in copy-pasting when a curator partially agreed with an author -- Juancarlos
  • If you rejected the author-entered data, and you think the paper should not be flagged for that data type, do not enter anything in the cfp.

Curation_status cgi

  • Only flags from the cfp_ tables are considered flagged
    • someone's should be looking at afp flags and moving the afp_ data to cfp_ if it is correct.
    • afp_ tables are only being looked at for newmutant and overexpr to change the color in the curation_status.cgi for those datatypes if they're already in cfp_
    • SVM data is not automatically added to the cgi

Author flagging

Author first-pass form

An email is sent to authors containing a password protected link to an author first pass form that was generated by scripts in /home/postgres/work/pgpopulation/afp_papers. Email sent from cronjob of /home/postgres/work/pgpopulation/afp_papers/ runs at 1pm on Thursdays.

This form is sent to the first e-mail address of a paper extracted by Textpresso. Textpresso scans the paper for an e-mail address based on the '@'. The first e-mail it finds is used as the author contact. The first line with @ stuff is stored in an output here :

The addresses are parsed into email addresses stored on tazendra here : /home/postgres/work/pgpopulation/afp_papers/textpresso_emails (the first few addresses are junk, but this list is the source of the paper and e-mail connection)

The the papers with textpresso body are here :

This extraction doesn't work with all journals :

  • BMC journals - there may be a systematic problem with a consistent pattern of having a "* - " right in front of the corresponding author's e-mail. (6/20/09 The code was changed to kludge this particular problem to look for the "* -")

Continuing problems, which result in no author e-mail sent:

  • the email isn't correct because of tokenizing (e.g. 00032111 and 00032933 splits the sentence in the middle of the email because of a dot (e.g. BMC journals))
  • the PDF is a provisional PDF

Articles whose authors are not requested for first-pass include:

  • any article with no e-mail contact information
  • old articles
  • book chapters

E-mails are sent out on a weekly basis every Thursday. If no e-mail is recognized, no link is sent; however if an e-mail is available for an author that has later-on verified the paper as theirs the link will be sent at that time. E-mails are sent out in batches of no more than 50 a week. These data are stored in the afp tables.

The afp form contains all the same data fields as the cfp.

Authors can resubmitted the form as often as they want as along as they use the link provided in the original e-mail. Their resubmitted data will rewrite data in the afp tables.

Articles marked as review by the author are entered as "checked" in the afp_nocuratable table. Curators can disagree with this, or any author flagged value, through the curator first pass form by unchecking "yes" and not merging the information into the cfp_table accessed here:

Journal first-pass form

A link to this form is sent to authors by Genetics editors. This form is a much shorter version of the afp, and only contains those data fields corresponding to the data types that are marked up in the GSA mark-up pipeline. The purpose of this form is to alert the GSA markup QC curators that there are new objects in the paper that do not exist in WB yet. The flagging done by this form is not complete as it does not ask the authors to alert curators for all data types that need to be curated. These data are stored in the afp tables rather than its own table.

Objects are collected for the following data types:

  • genesymbol
  • extvariation
  • newstrains
  • newbalancers
  • antibody
  • transgene
  • newsnp
  • newcell

All of these fields, except genesymbol, do not show on the normal afp_form. We opted to make a hybrid of the afp_form for the Genetics authors so that they would not be requested to fill out another WB generated form for us after their paper was published and because we needed this extra information from them asap. It is also my understanding that these authors would be required to fill out the form as part of the publication process, so this was an opportunity to have 100% author feedback for paper flagging.

When the journal first pass form is submitted, all data entered is automatically added to the lexica the markup scripts used for entity recognition and linking.

  • the QC curator is alerted by e-mail so that bad entries can be silenced (a '~' is placed before the text to be silenced). This silencing is necessary when data are entered in a bad format. The QC curator needs to make sure entities are entered in a way that is consistent with the known entities.
  • the curator responsible for the data type entered is alerted by e-mail. They are sent an e-mail that lets them know the information is coming from the GSA markup pipeline. These curators do not have access to the paper right away as the paper is not available in PubMed and has not been indexed by Textpresso yet.

Reporting/removing false positive flags

If a flag received by any of the forms turns out to be a false flag, that is, the paper does not actually contain the indicated data, you should remove the flag.

  • Go to the paper editor
  • Scroll to the bottom
  • Click "Flag False Positives", you will be taken to a new page
  • From the drop down menu select the data type that was incorrectly flagged
  • Enter the WBPaperID (can enter just the numbers)
  • Click "Enter False Positive"

Note, you can also see all false positives for a given data type by clicking "Show False Positives"

Textpresso automated (tfp) scripts

Data entered here is fed directly to the data curator.
Data also shows up in the tfp column on the cfp_form.

  • If the fp curator agrees with the textpresso results, they should merge the data into the cfp entry box.
  • If the fp curator does not agree with the textpresso results they should leave the cfp table entry box blank or correct the info. If something is written in the cfp column, the paper will be counted as a positive flag for that data type on the curator status form.

not implemented yet: The number of papers flagged for a data type by Textpresso will be noted on the curation status pages in its own column and added to the total number of flags.

SVM (sfp) see SVMs for First Pass Curation

Data entered here is fed directly to the data curator.
Data also shows up in the sfp column on the cfp_form.

  • If the fp curator agrees with the results, they should merge the data into the cfp entry box or type yes.
  • If the fp curator does not agree with the results they should leave the cfp table entry box blank or correct the info. If something is written in the cfp column, the paper will be counted as a positive flag for that data type on the curator status form.

The number of papers flagged for a data type by SVM will be noted on the curation status pages in its own column and added to the total number of flags.


SVM results are here:
and are called on to create this form:

--kjy 20:43, 8 March 2012 (UTC)

First-pass details

First-pass schedule, instructions, automation